Better Support for UINavigationController, custom durations, and a bug fix

First issue: when adding to a UITableViewController, the TSMessageView will scroll along with the UITableView. This pull request doesn't fix this, but it allows you to add set the UINavigationController as the TSMessage viewController, and it will position the view correctly under the navigation bar (if there is one).

Secondly, this allows you to change the duration of a message. If a custom duration is not specified, it'll use your already existing formula to determine the duration.

Finally, this fixes a bug where if you tapped the message to dismiss it, you wouldn't be able to show another one until the previously determined duration finished. Now, as soon as you dismiss the view you can show another one, as it cancels the performSelector:withObject:afterDelay: request.