Move Price to its own model, update code

Create a Price model which contains a price, uri, and dateEstablished.
These are contained in a list of prices within a TrackedItem.  This was
done so that the item would have a history of price changes.  Each time
the prices are updated for the tracked item, the current best price is
used.  If it differs from the last price, a new price is created and
appended to the end of the list.  So the last price is the current
price of the tracked item.