Interface cleanup

These are the changes I already talked to @KrauseFx about and want to propose to all of you so that we can talk about this interface cleanup.

Lots of breaking changes here, but I considered them necessary to support further development of TSMessages. It all started out with refactoring the initializers (0ae2927), which is also the biggest commit of this pull request. Another notable commit includes the naming changes (a614835) as well as dropping support for iOS 6 (cfb623d).

Feedback is welcome :)