Schematic Loader

This code is untested yet, but it should allow us to load in schematics.
Also fixed whitespace and added javadoc to the StructureGenHelper and
SAOTowerGen classes.
Added More Schematic Helper Methods

Also added some helper methods to BlockData for when in the future we
need to perform lookups on it. Added doc to the methods for explanation
on what they do and why.
Prevent Null Pointers

Also fix some minor javadoc and method name issues which will probably
prevent confusion in the future.
Improved Helper Methods

Now the recursive hole search uses a list so it won't go into a loop and
miscalculate a hole. It can repeat some of the entries, but that's
unavoidable. Added some other methods to BlockData to help with this.
Also removed two unused methods in SAOTowerGen.
Added the Safety Block

Players can pass through it but other entities cannot
Added Schema Block Replacement

This was somewhat complicated, and probably is not done, but the basic
idea is there. It should currently work for slabs, stairs, and torches
without causing an issue and regular non-tile entity blocks just fine.
Nerve Gear Additions

Not working Yet. Gui doesnt Open.
Merge remote-tracking branch 'origin/SirPwn'
Merge remote-tracking branch 'origin/Ian'
Merge branch 'master' of https://github.com/bfox1/SAO