Group headers under a protected namespace

The specific headers should be protected under the `ccspec` namespace to
prevent name clashes. A universal `ccspec.h` is used to include
everything.
Remove debug code
Error out in ExpectationTarget instead of matchers
Output binaries to bin and lib