Clone `OAUTH2_URLS` hash before passing it to `OAuth2::Client#new`

The `OAuth2::Client` initializer mutates the hash of options passed to
it, removing multiple keys from the hash before returning. This means
that subsequent invocations will receive an incomplete hash of options.

By cloning the hash before instantiating the OAuth client, we allow the
client to mutate the hash to its heart's content without interfering
with the behavior of this library.