Added sorting function to the ItemMarketplace

Made a SortTool to be used with all marketplace sorting.
Made a bunch of changes to bring NPCs online!

The new way of dealing with prices is that the ItemMarketplace
implements a getcheapestUnititem method that can find the cheapest item
per unit of kind ItemStack. Gave playerdatas a list of associated NPCs
that will "follow" them around.
Almost have NPC Buying algorythm done.

They bought all my axes :(