[B+C] Adds GameRule enum. Adds BUKKIT-4316

**Justification for this PR**
This PR provides developers with a much needed way of securing the future of game rules in Minecraft. It also provides developers who are new to game rules an easy way to understand and use them in their plugins without having to trawl around the Minecraft wiki for explanations.

**The Breakdown**
This PR adds a new enum, GameRule. This enum maps a game rule to a string and also provides a method for converting strings into GameRules. Each GameRule is fully annotated, meaning developers can easily tell what each enum does.

This PR also adds new methods in (Craft)World that allow developers to use the new enum in place of the string alternative.

**Links**
Bukkit PR - https://github.com/Bukkit/Bukkit/pull/886
CraftBukkit PR - https://github.com/Bukkit/CraftBukkit/pull/1181
Jira Ticket - [BUKKIT-4316](https://bukkit.atlassian.net/browse/BUKKIT-4316)