Changed comments + rule to run shell

For those who want to use make to run the shell.
Made real README, changed from stub
Modified rules for input and added attribution

Should be ok this time.
Cleaned up code, added comments
Added test I used heavily in testing
Updated attribution
Added shell design document
Added target for building the test binary
Added section for test files and bugs