handlers now use varLookupFunc's to get variable values from
the request object. this allows applications to use whatever
mux/router they want, and extracting variables like
indexName and docID is up to the caller-provided function
closes#113
more things can return error now
in a couple of places we had to swallow errors because they didn't
fit the existing API. in these case and proactively in a few
others we now return error as well.
also the batch API has been updated to allow performing
set/delete internal within the batch