Fix syntax error when preprocessor macros are defined inside of enum lists

Fixes SF Bug 428, Patch 333
Support $descriptor() macro in fragments

Closes #36
Document patch #33 from previous commit and complete run time tests
.gitignore tweaks
Add an examples scratch directory into .gitignore
Add RUNPIPE in makefiles - a generic mechanism for suppressing stdout when running the examples - the idea is to run 'make check-examples' which runs the examples but suppresses the output except for errors. Initial implementation for Java.
Run java examples during 'make check-examples'
Move javac compile for examples into common Makefile for examples
Run csharp examples during 'make check-examples'
Go examples makefiles clean target fixed and use RUNPIPE and tidyup
Octave examples clean target fixed and makefiles use new RUNPIPE and general consistency tidyup
Perl examples makefiles clean target fixed and use RUNPIPE and tidyup
PHP examples makefiles clean target fixed and use RUNPIPE and tidyup
Python examples makefiles clean target fixed and use RUNPIPE and tidyup
R examples makefile tidyup
Ruby example not working when run - needs fixing/checking
Ruby examples makefiles and use RUNPIPE and tidyup
Tcl examples now run during 'make check' and makefile tidyup.
Tcl: change differently named constructors behaviour.

Where overloaded constructors are given different names, a class is constructed by calling
the name of the first constructor wrapper parsed rather than the last one parsed.
Behaviour is not perfect as either name could be used, it is just consistent with Python.

Fixes Examples/tcl/operator example - broken in 0e57357472bbc17c4e6bdbb8a0e14e3205f6be3d
Lua examples now run during 'make check' and makefile tidyup.