add tests for accessors; change uri semantics

While adding tests for the S3->uri method, it came to my attention that
the old definition of the method couldn't generate URIs with query
strings. Fixed that.