httpbakery: add HTTP checker

This will be standard to use in HTTP-based servers.
Also add a single caveat, client-ip-addr and a checker
for that, and a function that can create that from an
existing request.

We also introduce an "error" caveat, which can never be
satisfied, but makes it easy to create caveats from possibly-but-very-rarely-invalid
data without adding lots of error checking. When the caveat
is checked, the error from the check will reflect the orginal
error when the caveat was created.
fixed