Make building as shared or static a config option.
Make building as shared or static a config option.

This option defaults to BUILD_SHARED_LIBRARIES so we just follow CMake convention. CMake doesn't allow consumers of a library
to choose the mode though so we added that via a FORMATXX_BUILD_SHARED CMake variable.

The annoying part of the previous model is that a VS solution would get entries for both the shared and static libraries and the
shared and static tests but honestly most real apps only want one or the other.

I did like being able to build both shared and static versions with a single build command for testing. Might need an alternate way to achive
that.

seanmiddleditch/formatxx