Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
Another issue I found was with the built in system commands. Notice behaviour of commands when only a command is given with no args. This might be related to the match thing but I am not sure. Ex: ls returns nothing for me. cat returns something like a ls on one line. pwd just gives error