[built] Refactor makefiles to imporve unit tests -

* Add avrtest support
* Provide `XI_UNIT_TEST_TARGET` which can be set to:
    - `native`
    - `avr`
* Define most rules on the top level (`Makefile.rules`)
* External dependencies (e.g. _tinytest_ & _avrtest_) now
  reside under `src/import/` and should be checked-in

TODO: Document the build system in attempt to freeze it
[ci] Update Travis script to use new system
[build] Implement missing dependncy tracking
[build] Only include defaults for tests when testing
[build] Allow overriding comm layer in tests
[build][clean] Do not output too much noise
[imports] Remove tinytest submodule
[imports] Check-in errordeveloper/tinytest@ac0b57c
[ci] Point Travis at checked-in tinytest
[ci] Do not need to build docs on Travis -

installing doxygen and latex take several minutes
[imports] Check-in embecosm/winavr@ad8c42e
[build] Change obj and bin output directory to toplevel
[build] Should enter from the parent directory -

otherwise XI_COMM_LAYER is not set the way you'd expect!
[build] Simplify how examples are organised -

* no need for subdirectories - it's not a app framework and
  should be kept simple, so a single example shall always be
  just one file

* adjust it to work the same way unit tests are done
Merge pull request #54 from xively/build/test_rework

Improve how unit tests and examples are orginised
[misc] Fix typo
[build][mbed] Define `XI_USER_AGENT`
[build][mbed] Get version from a header
[temp] Script to push to mercurial (should be a make target)
[build] Add make target to push to mbed.org repo