Move code for block rotation out of BlockSign

This generifies the rotation code in BlockSign, as it is also used for banners and skulls.

Three changes:
- Changes BlockSign to use the Bukkit API to set its rotation, rather than setting the raw data directly.
- Add method to GlowEntity to get its full, intercardinal (eg north north east) direction in BlockFace.
- Add method to Position Util to convert between BlockFace and byte data value (common between rotatables)