Refinery fixes + StreamPayload

Added a alternative payload system for update packets that uses data
streams instead of arrays. Note: It is not compatible with
@TileNetworkData so you will have to handle all the data yourself.

Also added a TankManager class to contain commonly needed code for
tanks: Serialization, TankInfo, Network Data, etc...

The Refinery still needs a fair bit of work, but its mostly limited to
the GUI filter code. That needs a complete rewrite of some kind since
Fluids aren't items and can't be rendered as such.