[B+C] Add method for getting target blocks using HashSet<Material> as opposed to HashSet<Byte> for transparent types. Adds BUKKIT-4799

**Issue:**

With magic values deprecated, there's no way to currently get a LivingEntity's target block or blocks in line of sight without making your own method to do so.

**Justification:**

This makes it so instead of writing out a method yourself to get a target block or line of sight to avoid using deprecated methods, you can call it as before, albeit using materials as opposed to bytes, and hence no magic values.

**PR Breakdown:**

This PR adds methods to get target blocks using HashSet for transparent blocks

**CraftBukkit PR:**

Bukkit/CraftBukkit#1246

**JIRA Ticket:**

[JIRA Ticket #4799](https://bukkit.atlassian.net/browse/BUKKIT-4799)