Add Title API for Minecraft 1.8.

Adds an API for the Titles added in Minecraft 1.8. There is already a pull request in #106, but this one is slightly different:
- Fluent API, multiple calls can be chained.
- Added missing ways to clear or reset the titles.
- Improved and more detailed Javadocs.

#### Example Usage
```java
player.sendTitle(game.createTitle()
    .title("Sponge")
    .subTitle("http://www.spongepowered.org/")
    .stay(2400) // Stay for 1 minute
);

// Reset the previously sent title
player.resetTitle();
```

------
Edit by handler:

[YouTrack](http://issues.spongepowered.org/youtrack/issue/SPONGE-16)
I'm not sure what you're asking. You can have as many **Title configurations** as you want, but one client (= one player) can only display one title at the same time. The advantage of this API is that you can also use the same Title configuration for multiple players and multiple times, but of course this is not required. You could also create a Title configuration just for one player.

For example, both of these usages are perfectly fine:

```java
Title title = game.createTitle().title("Sponge").subTitle("http://www.spongepowered.org/");
for (Player player : game.getOnlinePlayers()) {
    player.sendTitle(player);
}
```
```java
for (Player player : game.getOnlinePlayers()) {
    game.createTitle().title("Sponge").subTitle("Playing as " + player.getName()).send(player);
}
```