Add -MP option for generating phony targets for all dependencies

- Modelled on similar option in GCC
Merge pull request #32 from kwwette/depend-phony

Add -MP option for generating phony targets for all dependencies
Add check for smart pointer type in generated code for director connection. This fixes a crash in the generated code caused by the dynamic_cast returning 0 because the specified types are incorrect for smart pointer types.

Add runtime test to the C# test suite's director smartptr test that demonstrates crash in generated code when directors are used with smart pointer types.

Closes #34
Cosmetic tidyup in smartptr feature code and document smartptr fix in previous commit
Octave: fix bugs in output of cleanup code

Closes #35
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