api response should reference actual request domain
fix string interpolation
override doorkeerp client_credentials behavior and save resource_owner_id for 2-legged oauth client flow
api request for public /collections/:id/items throws nil object exception
api responses always use json
#588 add tests, routing, etc, for api responses always use json
use host instead of domain, prepend current protocol scheme
add upstream error handler
try and catch undef object exception
wrong branch. Revert "try and catch undef object exception"

This reverts commit c8e43a06e1a91f2c4eb76f1889b5eae7c0d1f5e7.
all /api/* paths that fail to match will return api 404 response
fix #534 customers deleted-from-Stripe were causing reports:usage task to fail
use progressbar gem that search task uses
more re #593: workaround case where collection is AWOL
pretty up the /admin/total_usage page
cache pua totals to help speed up pagination (TODO consider caching these via task+sql)
with cached totals in 2e8f3a3 increase page size for visibility
make Stripe cache configurable
increase cache ttl for totals
why would this be such a small fixed width? looks funny