Add BlockFace and basic Block methods

Added BlockFace class
Added basic Block methods that will be needed regardless of how the
rest of the API works
A block does not define its position in the world, `Voxel` has `getBlock` for the reverse method