Paths ignore blocks above

We need to do the following:

  • Check for a torch above, and drop the torch if it is on the floor
  • Check for solid blocks above and fail to make a path
  • Check for a path block underneath a block being placed and revert the path to the source block
  • Check for a path block underneath a torch being placed and fail to place the torch