Issue update request in background

in the GET request, instead of waiting for the update process to
return, return immediately and send the process in the background.
This prevents the browser from re-issuing the request again when it
doesn't respond in time.
Large refactor of PriceUpdater

Big refactor of the PriceUpdater to mostly help
readability/maintenance.  Pulled logic out to separate functions.  Also
establish 2 main public functions: one that updates the tracked items,
and another that gathers item details.  The second maybe used by the UI
to initially populate an item's details given only the URI.