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 query{,Abs,Rel}(x,y,z,typevar,datavar) to the expression parser.
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.