Merge branch 'develop' into FEATURE-design_patterns
Some important preliminary design pattern pieces.  Support for naming getter/setter methods, validation and implementation of design patterns in the validator (may need moved to class-level implementation), and some improved design/code-quality in various related classes.
Added basic back-end support for initializing class-type members, leading to a valid singleton implementation for C++.
Merge branch 'develop' into FEATURE-design_patterns
Cleaning up some of the getter-setter code (methods cannot be both a getter and setter, and should share an 'underlying member', rather than having two instance variables and methods).
Added getters/setters and class-type default initializers to Java.
Moved design pattern handling back into class objects. Minor validation is still done in validator.
Merge branch 'FEATURE-design_patterns' into develop