Update setResourcePack for 1.8

In 1.8, the server now specifies a hash when sending a resource pack request to the client.
In addition, it's now possible to determine whether the client accepted or rejected the request, through a new packet type.

This PR allows `Player#setResourcePack` to be called with a hash, and adds `PlayerResourcePackStatusEvent` to allow plugins to determine the result.
The reason for its deprecation might be more obvious if you look at the implementation side:

https://github.com/GlowstoneMC/Glowstone/pull/500/files#diff-5324b1a2be78a948158dcf3368bcdb10R1328

Also, since it took me a while to figure out what happened here, explaining for the record:

 * Copied whole definition of setResourcePack, javadoc included.
 * Added hash parameter to the second setResourcePack: `public void setResourcePack(String url, String hash);`
 * Deprecated the old setResourcePack with no hash parameter, for backwards compatibility, with the downside that it will force a refresh (the implementation passes an empty string as hash)