Various improvements for better integration with mbed online tools

_NOTE: this is based on #54, which needs to be merged first_

* Add `update_mbed_repo` make target that push code to the mercurial repository
   - we cannot push the entire tree, as the online compiler will not handle it, so the simplest way is to keep the trees it decouples but cross-refernce git commit hashes in mercurial log 
* Add optional `xi_user_config.h` header to allow users override constants (see #51)
* Use `MBED_USERNAME` for the time being
* Use correct headed (`TCPSocketConnection.h`), so it works with different network interfaces
* Rename `xi_consts.h` to `xi_config.h`, as it's more appropriate for what it does now