Handle both S3 request styles. Closes #23.

Reconcile issue #16 and issue #23.

Add a new `s3-path-requests?` parameter that controls whether Virtual
Hosted or Path style requests are made.

Also add an optional `location` argument to `create-bucket`, allowing
buckets to be created in a specific region.

Cover permutations of the above in the unit tests.
Indent.
Fix misleading comment.
Add `ls/proc` and `ll*`.

- `ls/proc` is a fold-ish variant of `ls` where a procedure is called
  for each batch of objects that S3 returns. Actually, `ls` is now
  implemented in terms of `ls/proc`.

- `ll*` is like `ll`, but returns the full `Contents` XML response not
  just the `Key` within it. Actually, `ll` is now implemented in terms
  of `ll*`.
`test-bucket-ops` print more info
Use call/input-request in test of signed-uri.

It automatically handles redirects. This will arise with "virtual host"
style requests when the bucket location doesn't match the s3-host
endpoint -- there will be a 307 Temporary Redirect.