Start building ConsoleIo.

Copy a bunch of code from Shell into ConsoleIo.
Fix and add tests for ask() and askChoice()
Add tests for remaining ConsoleIo methods.
Implement ConsoleIo::overwrite().
Cleanup ConsoleIo docblocks.
Default to 79 dashes in a bar.
Merge pull request #3285 from markstory/3.0-console-io

3.0 Start ConsoleIo class