It executes commands!
Add better error handling
Cleanup some of the code
Add weird signal handler that doesn't really work
Added piping and a function to remove the newline

Piping implementation is super basic; chaining commands is still a TODO.
Parent now reads output from child process.

Added a function to remove the newline char from the userinput so that
we didn't have to manually check for it everytime.