Implement Titles API

Through implementing Glowkit#51, this provides plugins (and players) the ability to set titles to players. These titles are fancy things that annoy me personally.

**What does this PR include?**
- Titles (with color code support!)
- `/title`

**What does this PR not include?**
- A proper chat component system
  - A workaround system has been implemented because of how the protocol works. The client is expecting a JSON string and it should be correctly formatted. Shoving messages with spaces (ie: `Hello there!`) will break the client. 
  - Extra checks were done in the command handler to ensure that the player cannot break the client with invalid JSON as well. This performs very basic checks as the client is somewhat resilient to extra keys.

I strongly suggest that when the chat component system is implemented that this gets fixed alongside it. 

------------------------------

*Edited by turt2live*

**Related Links:**
- Glowkit: GlowstoneMC/Glowkit#51
- [Sample plugin](https://drive.google.com/folderview?id=0B6JIYSBkLkAnMC13ZVZqekpuRjA&usp=sharing&tid=0B6JIYSBkLkAnTTZYd3Z4ZTMzV3c)

The validation is present to avoid errors on the client-side. It's not very good but it saves users from reporting issues relating to titles. It's a bit stricter than vanilla, but it's better than leaving a wide open bug in the PR.