Timex bugfix and improvement

This branch fixes two bugs in timex and adds one minor feature to timex.
Also included are some unit tests for timex.

The two bugs:
1. The check for an integer overflow in timex_add is nonsensical and should be replaced by the code portion below this check (which someone commented out).
2. timex_sub fails to calculate the correct time if a.microseconds < b.microseconds. This is fixed by
the code in this branch.

Feature added:
timex contains a function which converts a timex_t type to uint64_t. It would be nice to have a function which could convert a uint64_t back to a timex_t type. The new function timex_from_uint64 does exactly that.
Please see our [coding conventions](https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions).
We put the brace on a new line in function declarations.