Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
Problem seems to be that shell_input_read does not seem to receive the command unless shell_input_write.close is called.