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.