Merged the implementation files from John into my branch.

Picked John's initial data model changes.
Merged John's implementation with the branch

Changed file names to lower case to correspond with Style guide
Included some of his proposed changes to the Executable implementation
Cleaned up filenames to better match with Google C++ stnadard

Cleaned up the filenames to better match with Google C++ standards
Cleaned up the include file to better match Google C++ style

Cleaned up some of the parameter lists to better match Google C++ style.
Cleaned up code in module class to better fit Google C++ style guide
Small correction to name of method in module
Fixed the test class to be syntactically correct