[B+CImplementation of improved block targeting system. Adds BUKKIT-5581

#### Implementation of improved block targeting system. Adds BUKKIT-5581

##### The Issue:
See related Bukkit PR #1059 for detailed information.

##### Justification for this PR:
See related Bukkit PR #1059 for detailed information.

##### PR Breakdown:

The following changes are made:

* New methods are added to CraftLivingEntity to implement the new API in Bukkit LivingEntity class.  Several private helper methods have also been added.
* Implementation of ``Vector[] getHitbox()`` has been added to CraftBlock
 
##### Testing Results and Materials:
Paragraphs describing what you did to test the code in this PR and links to pre-compiled test binaries and source.

##### Relevant PR(s): 
This should be links to accompanying PRs, or alternate PRs that attempted to perform the task.  Each reference should have a reason attached as to why it is being referenced (for example: "Similar to PR ### but won't empty your Bukkits").  Accompanying PRs need no explanation, but still need to be linked.
 
B-#### - https://github.com/Bukkit/Bukkit/pull/#### - Reason  
CB-#### - https://github.com/Bukkit/CraftBukkit/pull/#### - Reason
 
##### JIRA Ticket: 
BUKKIT-#### - https://bukkit.atlassian.net/browse/BUKKIT-####