[feature] The user config should not be required -

As discussed in #51, it is best to keep this header optional
and only require it in mbed online IDE as user has no control
over compiler flags and/or global constats etc.
[misc] A more appropriate name for config header
[feature] More user config options -

These headers rely on various macros which users should be able to
override via `xi_user_config.h` which we now allow (#51).