concurrent listJobs for web ui and V8 maps

this was precipitated by spawn freezing up on me. A stack trace
showed some internal thread was both holding the 'job lock' and
doing a blocking wait on a zookeeper lookup to expand a job config.
My http response's thread was blocking waiting to get a list of
jobs that _shouldn't_ be trying to modify and didn't really care
what the other thread was doing. (I say shouldn't because they
do in some places even for what the client might assume is a read
  only lookup).

the thread model for spawn is fubared in a lot of ways. I am pretty
sure the worst case for this view for ui elements is a job looking
unusual, and that seems both relatively unlikely and already very
possible from other issues.

Even though we should be able to more or less just use a concurrent
map and either individual job locks or CAS on immutable job objects,
that is outside of the scope of this change, and therefore I left
the listJobs() method alone so its behavior is unchanged for other
spawn logic.