Added tests for input.

Testing functions for reading user input from the terminal.
Added support for input listeners.

Clients may now listen for user input from the terminal.
Added user input demo.

The 'about' command now prompts for input. Testing purposes only.