crypto: get rid of compiler warnings
drivers: improvements to UART driver interface

- removed UNDEFINED value from device enum
- added argument for callbacks
- add power[on|off] functions
- removed tx_end() function in favor of cb return value
board/cpu: adjusted uart driver implementations

for
- sam3x8e
- stm32f0
- stm32f4
- sam3x8e
- nrf51822
tests/periph_uart: added two UART driver tests

- test for UART driver in blocking mode
- test for UART driver in interrupt driven mode
Merge pull request #1481 from haukepetersen/fix_drivers_uartif

drivers: improved UART driver interface
Travis: auto rebase on master before running

It can happen that two PRs don't interfere with each other in the sense
that they hurt automatic rebasing, but still do not work together. The
prime example is PR1 changes the API of some function that PR2 uses. If
PR1 is merged, and PR2 is not rebased before merging, the error might
get unnoticed before the next build. Travis CI would have have told both
PR1 and PR2 are fine, but will complain (rather unnoticedly) that our
master does not compile.

This PR automatically rebases the PR on top of the current master,
before running the tests. If the automatic rebase fails, then this is
fine, because you will need to manually rebase again before merging,
anyway. The manual rebase, i.e. new push, will trigger Travis CI.

So, the main idea of this PR is that to can hit the "Restart Build"
button in Travis CI before hitting the merge button in Github.
Merge pull request #1526 from Kijewski/rebase-on-master

Travis: auto rebase on master before running
core: shadowing in priority_queue_print

The variable `node` shadows the parameter `node`. The access of
`node->first` would not compile, because there is no member `first` in
`priority_queue_t`.
Merge pull request #1563 from Kijewski/priority_queue_print-typo

core: shadowing in priority_queue_print
Merge pull request #1522 from OlegHahm/crypto_cleanup

crypto: get rid of compiler warnings