Bulletproof the Box class against accidental world corruption and bugs.

In some rare cases the Box's initialize() may be supplied with
coordinates equal to INT_MAX while theoretically being initialized.
Normally this would be harmless, as with every coordinate being
INT_MAX the resulting box's dimensions are zero, however anywhere
where one of the coordinates is actually used in a loop with a
"i <= coord" condition the loop counter will overflow and bad things
will happen, e.g. in FillerFlattener.iteratePattern, where
I encountered this bug, an array will overflow and take down the
whole game with it resulting in a corrupted world. (As broken INT_MAX
coordinates will get saved in NBT tags.)
Removed the config option to always connect pipes. Refactored pipe connections
add ForgeDirection to logic too
fix transport connects
remove general check on transport class
Make sure to include up to, and including, meta 15 for facade generation (black wool)
Fixed pipe Icons not being properly refreshed when switching texture packs. Closes #740
Merge pull request #655 from kouteiheika/master

Bulletproof the Box class against accidental world corruption and bugs.

-Don't really understand, but merged anyway.
Merge branch 'PipeConnectionRefactor'

Conflicts:
	common/buildcraft/transport/TileGenericPipe.java
Don't register our own blocks, ...

...let FML do that.
Add Item registration
Remove inheratance from ConnectionMatrix. Save 6 bytes per packet
Added BitSet codec
Change ConnectionMatrix to use a BitSet internally to represent the connections. Saves 25 bytes per packet
Change WireMatrix to use BitSet to determine if wire is present. Saves 3 bytes per packet
Wrenches can now rotate many more blocks.

Implemented new Forge Rotation API.
Merge remote-tracking branch 'Buildcraft/master'