Redstone framework

This is just the start of a redstone framework which actually ended up being somewhat different from the initial prototype.

This is for issue #116 Redstone Support. I have dropped the WIP tag as I am satisfied that I have a suitable working subset of RS functionality (even though the torch timing is 1-tick rather than 2-tick).

Current status:
* **DONE** - RSManager class tied to world to handle the redstone network
* **DONE** - Chunks are dirtied, updated and unloaded by GlowWorld and GlowChunk
* **DONE** - pulse() method hooked up to GlowWorld
* **DONE** - Actually load chunk data into RSManager
* **DONE** - Redstone torch blocks
* **DONE** - Basic redstone logic
  * **DONE** - Redstone torch->solid->torch sequence
  * **DONE** - Redstone wires - diagonals ARE blocked, and these ARE analogue! (NEW: "injection" and charging of solids)
* **FIXED ITSELF?!** - Actually relay redstone updates to client (should be there BUT there's some stupid bug somewhere which is preventing this from actually working)
* **DONE** - Prevent placement of redstone dust ("wires") on a lot of things (mostly RS dust, RS torches)

To be implemented in later pull requests:
* Actually deregister chunks properly
* Faster deregistering of chunks
* Proper network creation which doesn't require tracing wires every pulse (prototype uses HashSets to mark positions of "sources", torches, and charged wires - it's not going to hit *every* block each frame!)
* Repeaters
* Comparators

It's a bad coding practice. You can shorten this code to a 7 line reusable method for others to use.