Adds a "pull to refresh" feature to product list.

I implemented a pull to refresh feature on the initial product list.
There is a lot of UI code to make it smooth, but I believe the results
pay off.

If products are added on the server after the app has launched, the new
products would be downloaded after the user pulls the table view down
past a certain threshold and releases it.

This is an iOS project-only change.