Complete Shell Grammar

Covers issue #20 merging complete Shell Grammar based on that provided by XCU 2.10.2 Shell Grammar Rules. Replaces custom debug with that provided by yacc(1). Makes use of main(), yyerror(), and yywrap() from the standard -ly library. Moves the inline testing Shell script from Makefile to a separate test.sh file. Renames test.c program to demo.c, first to avoid name clash with the new test.sh program (see make(1) .sh: and .c: default rules), and second as considered a demonstration program rather than testing.