moved IoHelpers into bot_io
DirectoryPopulater.populate returns the Dir
IoHelpers: using a place-holder object for a found dir instead of empty Map

...much less confusing given the semantics of {}
bot_test: smarter about failing when future helpers get the wrong result
Moving all of bot_io_test into bot_io

There are no actual 'test' code in bot_io_test (using dart:unittest, etc)
TempDir: expose the dir object
Test: bot_io: end by verifying the temp dir is deleted on dispose
Populate TempDir async
bot_io: returning a helpful object in the successful future
bot_git: starting on some random fun