Added default and non-default constructors for all classes.

Added accessors for all private/protected members.
Added mutators for all private/protected members, these still need to be filter out back input where applicable.