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
Merge remote-tracking branch 'origin/80741612-FixParametricFileTest' into 71605704-AddDatasetTests
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
Updated several aspects of testfiles:
 - Added an EXPECT_FATAL flag to ADD_SIMULATION_TEST so we can properly handle EMSTestMathAndKill
 - Add capability to bring in datasets, TDV files, and FMUs
 - Enable FMU external interface files *only* on Win32 because we only have win32 FMUs **not tested**
 - Add DesignDay to WeatherTimeBins to allow it to run without requiring an annual simulation
[#71605704]
Add ability to simulate basement and slab via ExpandObjects; only thing missing now is EPMacro
Updated to start using EPMacro, needs work, but its close