Added code and cmake rules to allow source to compile into shared library
 - This built successfully on Linux.
 - There are CMake rules added that should be cleaned.
 - The library wont compile on Linux because I added a unistd.h; need to figure out how to best chdir on Windows
[#80310170]
Updated library code
Exposed EnergyPlusPgm in main.cc
Added program.cc that links against the dynamic library
Clean up code, Add callbacks to dummy program, fix callbacks, works great!
Library works on Windows.
 - Only set fPIC flag on Linux...Windows DLLs don't need it, not sure about Mac......
 - Import a couple Windows headers to gain access to _chdir
 - Add decoration to exported functions on Windows so a .lib file is created
 - Adjustment of file path in test program for Windows
Cleaned up code
Rename test program using E+ as a library
Further clean-up; still runs great
Further clean up, check return status of chdir before running
And should be the final cleanup commit fixing paren padding
Removed unnecessary #include statement on Windows.
Also retested on Windows and it works great.
Merge remote-tracking branch 'remotes/origin/develop' into 80310170-EnergyPlusLibrary
Make EnergyPlusLib shared by default

This work makes EnergyPlusLib a shared library, with main becoming a
very light wrapper that calls into the function EnergyPlusPgm.
EnergyPlusPgm is the main function in the shared library's interface.

The EnergyPlusLib shared library is installed alongside the main
energyplus executable and distributed in the normal package.  In this
way there is no separate distribution of the EnergyPlus DLL.  It will
come with the regular installer package.
Merge branch '80310170-EnergyPlusLibrary' of https://github.com/NREL/EnergyPlusTeam into 80310170-EnergyPlusLibrary
Clean up after @kbenne; use null-pointer checks before calling callbacks; re-delete program.cc
Merge remote-tracking branch 'origin/develop' into 80310170-EnergyPlusLibrary
Get export of symbols working on Windows

 - Surgical export of symbols necessary to get EnergyPlusLib_Test working.

Note that this is kind of messy since all data is global. Lots of
individual symbols to export instead of just one or two classes.

[#80310170] @Myoldmopar
Add missing EnergyPlusAPI.hh
[#80310170]
Update name of callback test binary; indent cleanup in API header
Merge branch 'develop' into 80310170-EnergyPlusLibrary
Trying a different version of MoistAir.fmu to see if it passes.