Adding inner class BlockInfo which is essentially a net.blockout.Block except
that it's not subjected to as much heap allocation or error checking. Adding
function getBlockOrientationLookup() which returns a HashMap of String rotation
to BlockInfo object, which will be used in tandem with the other new function,
speedyFindRotatedBlock(), which is an attempt to improve upon the existing
function findRotatedBlock() as far as performance goes. Adding an internal
static HashMap named 's_rotationsCanonicalPlus' which maps the existing
canonical rotations, plus "x", "-x", "y", "-y", "z", or "-z" tacked onto each
(considers all permutations), mapping that to the actual canonical rotation.
This is used by simplifyCompositeRotation() which greatly speeds up its
performance in the most common use cases. A second two-arg
simplifyCompositeRotation() is needed, which allows this cache to be bypassed,
so that intialization calls can still be made with the use of that function,
before the extra cache is created.