(maint) Fix initialization of Ruby Facter API.

If initializer_facter is called more than once from Ruby,
the previous context is not immediately destroyed.

This results in the Facter API persisting after the call
to shutdown.
(maint) Add cotire to the build to reduce build times.

Adding cotire to our CMake projects which enables two things:

1. Precompiled headers: for incremental builds, this reduces the amount
of time the compiler has to spend parsing system headers.

2. Unity builds: for full builds, this reduces the compile time
significantly by having the compiler compile only a single source file
that includes every other source file.
Merge branch 'build/cotire' of https://github.com/peterhuene/cfacter into maint/master/unity-build-rework-logging

Conflicts:
	lib/inc/facter/logging/logging.hpp
	lib/tests/logging/posix/logging.cc