Created a TestAdapter and implemented on lib/test/run-context

- Created `lib/test/adapter.js` that exposes both `DummyPrompt` and `TestAdapter` classes
- Refactored the use of `DummyPrompt` by `lib/test/helpers.js`
- `lib/test/run-context` now uses the `TestAdapter` instead of the original `TerminalAdapter`
- `TestAdapter` also added to `test/actions.js`, first step into converting some of the most verbose tests
This should be `setImmediate(fn)`