WIP: client-initiated pairing

Adds client-initiated pairing capability to allow clients to receive a merchant token.  See inline commit comments for code walkthrough.

Work in progress:
------------------------
* Tests are failing due to rate limiters, will look at refactor options (have tested successfully on a local instance with increased limits)
* Will add commit with README update as well