Split RPL into core and mode related functions.

With this PR rpl.c only contains the core RPL-functions, which include basic initialization, mutex-management, basic receiving of RPL-messages and calling mode specific functions. Each mode is now moved to its own .c/.h pair. In addition rpl.h finally got documentation.

Note: This PR does not include the by now not acknowledged PRs https://github.com/RIOT-OS/RIOT/pull/1080 and https://github.com/RIOT-OS/RIOT/pull/930. Therefore some code is marked as obsolete and will be altered on merge/rebase of the other PRs.
Could elaborate/document why these mutexes are necessary?