Create a set of config variables for implementation

The config variables in _CONFIG_IMPL_VARS are only written to config.h
and not the .pc or -config.cmake files. They can thus only be used by
the implementation files and not the headers. Use this set to avoid
exposing the variables to other projects, when it is likely that a
probe used by that other project may turn up a different result.
Put version numbers only in config.h

Having version numbers for other modules in our headers can be a
perilous practice, since we are not sure what our clients link to.
Thus, we put them in config.h to make them available to all of our
code, but none of others.