T590 availability 

There are lots of changes here. I've added an API call `/availability?bibid=12345` which returns the holdings for a resource as JSON using [schema.org](http://www.w3.org/community/schemabibex/wiki/Holdings_via_Offer). The search results page uses this API to look up the availability for results via AJAX. You can also pass in the fake bibids (GM and GT) that are in Summon.

It's probably worth mentioning a couple important points:

1. Only availability for the given bibid is returned. The API doesn't currently fan out to similar bibids. If similar bibids are known they can be looked up individually. Summon's results are not grouped together so I think it might make sense not to fan out availability to related items. Also, this will help not create tons of potentially duplicate holdings lookups. If we decide to start using this API call for the item view we can potentially add something like a 'all=True' parameter. But I think it might actually make sense to look them up individually since that will parallelize the lookups.
1. Status from Georgetown and GeorgeMason isn't available yet, since z39.50 hasn't been rolled in yet.

If you take a look at the implementation you'll see the APIi call just calls `db.get_availability`.  I've continued to pull bits of `ui.voyager` over to the new `ui.db` module and to test them in `ui.dbtest`. Eventually the older code can be removed once everything has switched over.

This work isn't finished but I'd like to open up separate tickets for the work that remains, and add them to the next iteration.

fixes #590