Bukkit 1899

##### The Issue:

Bukkit currently lacks a way to set the title of an inventory through its API, forcing those who wish to implement such a functionality to use (already existing) NMS methods.

##### Justification:

There are plenty of scenarios in which the ability to rename an inventory is useful, and seeing as it is a fairly simple task, it should not require the recreation of the inventory with the new title or the use of NMS. Simply put, it's overkill.

##### PR Breakdown:

This pull request adds two methods to Inventory.java:

**setInventoryTitle(String)** - Sets the title of the inventory.
**isNameable() - returns a boolean representing whether the inventory may be named. The setInventoryTitle() method exists even if this returns false, but will have no effect.

Additionally, all direct or indirect subclasses of Inventory have been given or have inherited proper implementations of these two methods.

##### Testing Results and Materials:

See InventoryTitleTest.java in the sister commit.

##### Relevant PRs:

[B-1110](https://github.com/Bukkit/Bukkit/pull/1110) - sister ticket for API

##### JIRA ticket:

[BUKKIT-1899](https://bukkit.atlassian.net/browse/BUKKIT-1899)