Make application compatible for OTP releases

This change provides the possibility to release applications which can be upgraded with `relup`.
See: http://www.erlang.org/doc/design_principles/release_handling.html

Therefore a supervisor process is needed, the application behaviour alone is not sufficient enough.

----

The addition of `datastructures` to the applications list is needed for [exrm](https://github.com/bitwalker/exrm) (resolving dependencies for release bundling).