Update 36: Debugging and Minor Changes

I have lifted the empty list construct (token EMPTY) from AtomExp to List.
Hence the empty list is now represented as a struct List with type
EMPTY_LIST with next pointer NULL. Appropriate changes have been made
to pretty.c and seman.c. Most notably, the empty list processing
from gp_list_scan has been commented out, and I added a guard to exit
the function if the argment's type is EMPTY_LIST.

gplexer.lex
- Added code to set yylval.id in the erroneous identifier regexp.
- Removed '-' from the character sets as they clash with the minus
  operator.
- Added regular expressions for empty strings and empty characters.

main.c
- Reorganised the code so that parsing of both input files is always
  executed, and further action is dependent on the flags.

seman.c
- Removed restriction on edges not being able to be marked GREY.
- Added guards before calls to free.

makefile
- Added commands to remove the .dot files in the default make.