Simplify use/generation of version header

Move version.in template to include/camp for clarity. Update generation
and installation of generated version.hpp header accounting for this
move and new generation include paths.
Add CMake config modules for CAMP clients

Implement templates for CMake find_package module scripts for CAMP.
Split implementation into CAMPConfigVersion for version validation
and CAMPConfig to do the heavy lifting. Update install commands to
install these in standard CMake-findable location, and use the EXPORT
signature of the install command to create the library import file
for libcamp.

Provide a first pass at Boost re-detection in CAMPConfig. Export
Boost version and include path used when CAMP was built as hints to
detect Boost if not already found. If (any) Boost is found, check that
the detected version meets the greater than or equal to version number
requirement. If Boost is not found, or any found version does not meet
the minimum version requirement, issue a FATAL_ERROR.

TODO: Version checking may not be 100% robust due to binary compatibility
issues. Whilst CAMP does not link to Boost binary libraries, it
is compiled against the headers of a specific version.