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.
If you want to make nitpicky changes, I would change `hash` to `shaHash` or `downloadHash` because people don't read documentation.