Add Title API.

This adds a builder-based Title API for BungeeCord. The [previous pull request](https://github.com/SpigotMC/BungeeCord/pull/1203) had an API that was more like most APIs for Bukkit. However I have closed the old one and created this one instead because it works more similar to Bungee's Chat API when it is used together with a `ComponentBuilder`.

This API provides better customization because for example - the sub title can be updated without having to specify the main title too. Also it will save some performance when it is send for multiple times - the titles will be only serialized once, and the packets will only be created once.

### Example
```java
player.sendTitle( getProxy().createTitle()
        .reset() // Reset the previous title first
        .title( new ComponentBuilder( "BungeeCord" ).color( ChatColor.RED ).create() )
        .subTitle( new ComponentBuilder ( "by md_5 and thinkofdeath" ).color( ChatColor.GREEN ).create() )
        .stay( 2400 ) // Stay for 1 minute
);

// Reset the previously sent title
getProxy().createTitle().reset().send( player );
```