clean up PledgedItemsList reduceQuantity to use the List item function
remove custom reduceQuantity function.

This change removes the custom reduceQuantity function from the pledged items list and
treats all lists the same. This also removes the time from the requested list when the quantity
drops to zero.
add a json method to List to get data from any list. use List for pledged items
use a common render function and store a collection of controllers in app
use a standard transfer function
standardize functions for controllers and introduce a base item view
rename ItemView to ListView
initialize the js app with lists instead of controllers.

this changes makes the ApplicationController the manager of lists.
It initalizes controllers for the lists and allows the transfer methods to refer to another list,
rather than chaining calls through controllers into their lists
update js documentation
setup ListView to handle common rendering. this reinstates the images in the pledged view
add docs to list view functions