80310170 energy plus library

This is starting to look very promising.
 - Code compiles on Linux into libEnergyPlus.so
 - Added a dummy program.cc source that links to this dynamically and runs EnergyPlus fine when linking to ```void EnergyPlusPgm()```
 - Added callback functions to the dummy program, they properly register with E+ and after some fixes, E+ properly calls back. 

Thus everything works perfectly on Linux.

ToDo:
 - [x] Make it cross platform
 - [x] Verify CMake definition logic
 - [x] Clean up the #defines in the code, verify with specific team members
 - [x] Clean up test executable