Adds properties to class definitions

Classes can be defined using a specific syntax which allows for a
property to be defined with associated getters and setters. Both
functions are optional and can be replaced with a boolean to indicate
either a simple getter/setter (true) or no getter/setter (false).

Access control can be controlled to allow for any combination of
private/protected/public access to either the underlying property or
the getter/setter.
Updates format of fatals to match master
Merge branch 'master' into feat-properties

Conflicts:
	ClassTest.js
	Test/Test.html
Adds type hinting to class properties
Merge pull request #1 from peteonline/feat-properties

Adds properties to class definitions