Choose provider using public_id (bug 998969 998975)

- Look up the public_id in the JWT
- Query Solitude generic product using the public_id
- Use MNC/MCC to get a list of supported payment providers
- Select a payment provider using the supported payment providers and the configured payment providers in solitude
- Start a transaction as normal
cope with a missing response (bug 1007784)
Merge pull request #451 from andymckay/1007784

cope with empty response
Merge pull request #450 from JaredKerim-Mozilla/998969

Choose provider using public_id (bug 998969 998975)
don't pass through the whole url, exclude the query string (bug 1001554)
Merge pull request #452 from andymckay/1001554

don't pass through the whole url, exclude the query string (bug 1001554)