Fixed the query functions not comparing data values at all for their return values.

Also made them accept RValue as well and added some test cases for them
and for the overloader bug i fixed last time.
Redo should now obey the masks it had when it was originally applied.

It's far from perfect and we should probably mask the actual block list instead.
Fixed some general silliness.
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.
Gave the function containing the code for the //gmask command a better name.