Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
This does not work. Unless my setup is vastly different than yours.
Actual output:
```ruby
input = "BOBBY FLAY"
command = VALID_COMMAND.match(input)[1]         #command = " FLAY"
input = VALID_COMMAND.match(input)[2]             #input = ""
```

Maybe try this?
```ruby
input = "BOBBY FLAY"
VALID_COMMAND.match(input)[1]         # To validate command
split_command = input.split[0]    
command = split_command[0]         
# args = split_command[1..split_command.size]
```