TilePump part rewrite

On first update tick initializes fluidType variable via setFluidType() and for all further operations refer to it. Write/read from NBT.
Move tube inside main loop so it wont get to wrong fluid while moving.
Proper pumpLayerQueues initialization in rebuildQueue() (also fixes #1224). It meant to be run only once. This give us option to set new boolean isFinished if we want. (then we can nice gui with internal tank
fulliness and reset button)

If this will be merged then I will start implementing GUI.