Change IMultiblockPart to an abstract class

This ensures we get the TileEntity methods we need and don't need to
re-expose them. Also prevents abstract-method errors in case someone
double-implements the interface.