Added layer of abstraction for tile entity inventories

Will make adding new tile entity inventory classes easier