Move implementation of IInventory from TileEngine to new abstract class TileEngineWithInventory.This will effectivly remove IInventory from redstone engines.Fixes #1180 (commit: c6ca3b2)