Added cotire for compile time reduction.

Use polysquare_bootstrap_cotire () to enable the feature.

Change POLYSQUARE_USE_PRECOMPILED_HEADERS and
POLYSQUARE_GENERATE_UNITY_BUILD_TARGETS in order to enable and disable
cotire on a per-build basis.

Use NO_UNITY_BUILD and NO_PRECOMPILED_HEADERS to disable cotire
on a per-target basis.

Also cleaned up PolysquareCommon.cmake . All arguments are now automatically
forwarded to the next function in the composition rather than being needlessly
copypasted.