Added levers beeing placeable on halfslabs

Don't merge this yet. I don't know if this is okay.
The `Rel` means "relative", as in "relative to the chunk". So they should always be in a range 0 .. 15 for X and Z, and 0 .. 255 for Y.

For performance reasons, the `GetBlock` and `UnboundedRelGetBlock` family of functions do not check the validity of the coords, so if you give them an invalid coord, it happily tries to read from a memory that is not theirs, crashing the server. That's why in Debug builds, there are asserts inside these functions - they are supposed to NOT be called with invalid coords.

So basically you need to check the coords' validity before calling GetBlock or UnboundedRelGetBlock; most of the time you already know the coords are okay, but for some transformations you can get out of the range, such as when the player right-clicks on the top face of a block at Y=255, the AddFaceDirection will return Y=256.