Reworked block place/break architecture
Better separation of initialisation & teardown tasks now, and calling breakBlock() from within an onServerTick() handler no longer causes a comod exception.
setLocation() is no longer overridable - the correct approach is now to override onBlockRegister() and/or onBlockUnregister().
Couple of Multibuilder fixes:
- Exchanging obsidian (or any block only breakable with a diamond pick) now actually returns the blocks
- Fixed bug where holding an Angelic Block effectively allowed obsidian to be swapped in forever.  (And same for any other block with item meta; items with item meta are no longer eligible for swapping)
Misc code cleanup
Javadoc work
Autobuilder tweaks
- Add NO_PERMISSION status
- Fix status updating when land markers inserted/removed
- Tweak status colours a bit
Improved block protection
BlockProtection is no longer a static class; get the BlockProtection instance with SensibleToolbox.getBlockProtection().
Added methods to set the preferred method for block and inventory protection.
Added block_protection and inventory_protection config settings.
Fix item dupe bug with shift-click-insert to machines.
Version => 0.0.4
Move EnderTunable interface into .api.enderstorage package
Move energy-related interfaces/enums into .api.energy