(2) Changed erfc.cpp to a header file which defines missing erf() and erfc() as static functions when using VC++ but otherwise does nothing.
(3) Replaced all nonstandard uses of real() and imag() methods as lvalues; instead work directly with the complex values.
(4) Fixed a bug in TestFindExclusions which was caught by VC++'s extensive STL debug mode self-examination.
There are still problems in hilbert.c and not all CUDA tests pass.
1) Added DLL export macros to many classes; enough to get tests to compile
2) Cosmetic changes to reduce warnings in Visual Studio:
a) change many "for (int i ="... to "for (size_t i ="... to avoid unsigned mismatch warnings
b) included many explicit static_cast<OpenMMReal>() casts to document places where double->float conversion warnings occur