Better assembly, min/max logic

Fixed machine assembly/disassembly to only occur once per frame.
Added automatic min/max bounding box calculation and caching for use in
BigReactors
Cleaned up some comments.