[B+C] Implement Wake and Sleep API. Adds BUKKIT-3155

**The Issue:**
There is no way of waking players up, neither is there a way to put them in a bed.

**Justification for this PR:**
This feature was requested in the #bukkitdev IRC channel by a few plugin developers.

**PR Breakdown:**
Adds three new API calls into CBS.CraftPlayer. Small changes in NMS.EntityHuman and NMS.EntityPlayer to allow overriding the distance check.

**Testing Results and Materials:**
This PR can be tested by the following test plugin: https://github.com/JadenKorr/SleepWakeTestPlugin

**Relevant PR(s):**
B-732 - https://github.com/Bukkit/Bukkit/pull/732

**JIRA Ticket:**
BUKKIT-3155 - https://bukkit.atlassian.net/browse/BUKKIT-3155

**Pull Request Check List:**
*General*:
- [x] Fits Bukkit's Goals
- [x] Leaky Ticket Ready
- [x] Code Meets Requirements
- [x] Code is Documented
- [x] Code Addresses Leaky Ticket
- [x] Followed Pull Request Format
- [x] Tested Code
- [ ] Included Test Material and Source
 
**If Applicable:**
- [x] Follows Minimal Diff Policy
- [x] Uses Proper CraftBukkit Comments
- [x] Imports Are Ordered, Separated and Organised Properly