Allow using any polkadot client instead of enum Client (#1575)

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* Apply suggestions from code review

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* WIP

Forked at: e9164236
Parent branch: origin/rococo-branch

* CLEANUP

Forked at: e9164236
Parent branch: origin/rococo-branch

* link in doc

* doc
9 jobs for master in 30 minutes and 40 seconds (queued for 2 seconds)