Added CanFill and Fill to IFluidBlock

Designed to be used by pump/machine style blocks that want to fill a
block. These two methods should be used to tell the machine that it can
or can't fill the block. As well adds the option of allowing the block
to define how it wants to be filled.