Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
Oh. Ok. A shell is supposed to be an interface between the user and the OS. I interpret this as interpreting the inputs  as well as then sending those inputs to the OS when they are valid. Most shells such as bash interpret the inputs as well but I see how you could interpret it as not doing that. Feels to me just sending the commands through and not interpreting is only part of a shell and if we are "the only shell on the system" we should interpret them too, at least at a basic level. Open to convincing though.

Also a note along this line is that the loop defines a command for any input that is fed in. Even if this input is garbage.