Update 37: Added functionality for character type and cyan mark.

I added a new token CYAN for the cyan mark. It is distinct from the
MARK token since cyan is only allowed in rule graphs. The host
graph grammar is hence unaffected as it uses only the MARK token.
Semantic checking for cyan has been added to graph_scan, which
required the addition of an extra bool, 'wildcard', in the Symbol
data structure. I also updated the pretty printer and AST files
with code to handle cyan and the CHAR_DECLARATIONS list type.

gpparser.y
- Removed CLabel : EMPTY and added CList : EMPTY
- Changed grammar rule for try-then-else. try-else is now allowed.
- Added char to variable declaration grammar.
Update 38: Minor tweaks

gplexer.lex
- The code for the regexp cyan returns CYAN_MARK instead of CYAN.

seman.c
- Fixed a bug in the logic of the semantic checking of wildcards.

pretty.c
- Added wildcards to the pretty printing of symbols.