Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
There is no way to exit the shell. The keyword exit is not a program and is also not defined in the base Shell class