Generalized the Slab and Stair code into a BasicSlab and BasicStair class, also added a simpler piece of code for the textures of the slab, it can now have one texture, or a different one for the sides and the top/bottom.
Moved around all the UnlocalizedName code, so that there is not a copy of getUnwrappedUnlocalizedName in a bunch of different classes, and made the getUnlocalizedName easier to read for all the classes because they use the helper class.