Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
That would make sense but I noticed this problem because I wasn't sure what you were doing exactly so I copied the VALID_COMMAND stuff and tried it and 0 would return the entire thing but 1 would return the first arg, not the actual command and there was no index that would return me just the command.

Somehow yours works though even though I get completely different behaviour when I try it in isolation. So I guess we can leave it as is.