Support objects that return valid URI strings through to_s

We currently have an implementation that allows Pact to open S3 files natively by using a file decorator which implements `open`.

This change allows Pact to use any object that implements the interface, not just a URI object.