Added Block and id/data overloads to canPassThrough, centralTopLimit and isNaturalTerrainBlock.
Made everything that uses canPassThrough use data values.
Made /ascend and /descend use centralTopLimit.
BlockType adjustments

- Flagged all snow layers except single layers (data values 0 and 8) as "cannot be passed through".
- Fixed centralTopLimit for trap doors and fence gates and cake blocks with data values 6..15.
Merge pull request #268 from sk89q/blocktype-adjustments

Added data values to the BlockType methods and used those in a few places.
Added centralTopLimit property for hoppers.
Fixed some warnings.
Removed the .java file from the resources folder.
Fixed not flipping the center plane blocks.

Added regression test so we'll never have to deal with it again.
Code formatting.
Fixed door rotation and disabled door y flipping.

Mojang radically changd the way doors work, so y flipping on a per-block
basis is now impossible.
Fixed bed rotation.
Fixed lever rotation.
Fixed head rotation.
Made hay blocks rotate like logs.

They're textured like them, too, so it fits.
Also, they no longer violate the "flip twice equals rotate twice" conditions.
Merge pull request #267 from sk89q/rotating

Block rotation/flip fixes and removed MCPCPlusXNmsBlock_151dv.java from resources/
Code quality improvements.
Code quality improvements.
Refactored up-with-glass code into a helper function.
Made /up and /ceil benefit from fly mode.

This avoids littering the world with floating glass blocks when possible.