Constructs a SharingClient from a Delta Sharing profile. The profile may be
a path to a .share file or a parsed profile list. Construction parses and
validates the profile but performs no network request or token exchange.
Examples
if (FALSE) { # interactive()
client <- sharing_client(demo_profile())
client$list_tables("delta_sharing")
}