Refactored mining laser code

Moved majority of the code out of the mining laser class.
Things which are not specific to any laser block harvester (such as
finding a particle accelerator or harvesting a block) have been moved to
the TileEntityAbstractMiner abstract class.
The only things in the mining laser are the things related to the
operation of that particular laser.