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.)
Fixed bad texture bind

Binding textures by directly accessing the render engine seems to cause random effects. One instance I encountered when using that method was texture binds would fail for other TESRs that used bindTextureByName().
Fixed bad texture binds

See previous commit.
Missed one
Removed the config option to always connect pipes. Refactored pipe connections
fix Pipe connection generation
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