Update viewlists to store a list of promises for views

Like all the other lists of views, this list is also more elegant if we store a list of promises.  We simplify the code a lot, and let code that doesn't have access to the update() call to also do things with the view promises.

ping @jdfreder for review.
missing a return here