[C] Return correct hasLineOfSight value for players. Fixes BUKKIT-4634

### The Issue:

When using .hasLineOfSight() to check for a line of sight between a player and other entites the function would always return false, no matter if the player actually had a line of sight or not.

### Justification for this PR:

* It is essential for certain plugins to be able to determine whether a line of sight exists between a player and other entites.
* CraftHumanEntity extends CraftLivingEntity and should therefore also return the correct values for the methods it provides.

### PR Breakdown:

* When the NMS handle of the CraftLivingEntity running .hasLineOfSight is an instance of EntityInsentiable:
  * Run the same code as before: Get the handle's EntitySenses and run .canSee() to check for a line of sight.
  * .canSee() will run EntityLiving.o(Entity) to actually check for the line of sight and buffer the result in a List.
  * The buffer is meant to speed up AI operations.
* New: When the NMS handle of the CraftLivingEntity is not an instance of EntityInsentiable, i.e. an EntityHuman:
  * Directly run EntityLiving.o(Entity) to check for a line of sight and return the result. 

### Testing Results and Materials:

I wrote a small plugin which checks for nearby entites and sends the player a message whether he has a line of sight to those entites or not.
Result - http://imgur.com/a/F2LZQ
Source (can be compiled using Maven) - https://github.com/Firedroide/LineOfSightTest

### JIRA Ticket:

BUKKIT-4634 - https://bukkit.atlassian.net/browse/BUKKIT-4634

_// Off topic: Yay, PR #1234 ^^_