Added class VillagerTrade to represent a NPC trading page
Added methods to MerchantInventory to access trades.
Updated Villager Merchant API to fit with vanilla concepts better.
Added constructor initialization to VillagerTrade for maxUses
Added ability to return the matching offer from a MerchantInventory.
Added methods to set and retrieve current number of uses and max number
of uses.
Added initial support for adding a new trade.
Added a method to get the inventory of the villager from the entity.
Started the work on a better api that can handle operations without the
inventory context.
New better API for manipulating offers.
Added interface to clear trades list and also added parameterless
getMatchingOffer for the inventory to automatically take the items
already there.