Refactor config on a per-compiler basis

To prevent the explosion of the config header, provide basic compiler
detection, forwarding to specific config header. Error out if compiler
is not recognised, with only clang and gnu families headers
implemented. Provide clang_config header, but error out if included
for now.

Update README to reflect changes being licensed under Boost license
for maximum license compatibility going forward.