Push Shell features into a Command

This version behaves teh same as the original but uses the Command
contract to implement the REPL, so you can do this:

> spring shell
$ version
0.5.0.BUILD-SNAPSHOT
$ help
...

etc.

(Requires an interface change in CommandFactory)