Asynchronous actions for Supporters admin

Many of the actions were timing out when run in production. This change
introduces asynchronous queries and actions. The #action endpoint create
a job to perform an action, the #poll endpoint is used to query for
action completion, and the #view endpoinot can view the result of a
'query' action (which are saved into a new table).

This change also updated jQuery (necessary to fix a bug in Promise
handling) and jQuery UI (necessary to sync with the updated jQuery).

TODO:

As jobs and results can accumulate indefinitely, some GC pass is needed
to clean them up.

The UI needs some work to indicate that requests are being
processed (e.g. a simple spinner).
Add garbage collection for jobs and tables

Remove jobs, and tables created by "query" jobs, that are over a day old
and have completed. This stops unbounded growth.
Add progress bars

A bit of UI work to indicate something is actually happening.