Added initial shell implementation.  Probably needs better error handling.  Also, implementation isn't very elegant.
Improved shell implementation.  Split method can still be more elegant.
Re-enabled shell features such as cd.
Functional-style implementation of split.
Added the def_system_command stuff back, so that the built-in shell's cd would actually have an effect on the commands that the shell subsequently executes.
Added comments.
Merge pull request #5 from bsoetaer/shell

Added initial shell implementation.