Updating Java files and mk_lang.sh with new pieces from lang_cpp.
Changes in current langauges and mk_lang.sh for consistency and ease of use.
Small fixes to includes and a couple typo fixes.
Creating package directories.
Java class shell.
Fixing langauge to include class_def.
Updating C and Python files.
Dependancy updates.
Finished basic Java implementation.
New types in C++ and Java as well as some bug fixes in the validator and type convertor classes.  Java now handles imports as well.
Included case conversions, particularly camel case in Java.
Merge branch 'java' into develop