Add new /checkout/add-payment-method/ endpoint

Part of #3396
Add add_payment_method_action() handler

Part of #3396
Add form-add-payment-method.php
Fix up markup on form-add-payment-method.php

So that checkout.js correctly displays payment method's fields.
Part of #3396
Only display add_payment_method() when logged in

Part of #3396
Improve form-add-payment-method.php error & button

Part of #3396
Call add_payment_method_action()

Part of #3396
Redirect to My Account page after adding method

Part of #3396
Add a notice that payment method has been added

Part of #3396
Filter gateways for add_payment_method form

Part of #3396
Fix "non-static method called statically" notice
Allow gateways to specify redirect URL

Part of #3396
Move /add-payment-method/ endpoint to /my-account/

Part of #3396
Use new ID for add pay method form

Part of #3396
Add new notices API for blue info message

Part of #4034
Use wc_add_notice() when updating shipping costs

Fixes #4034
Use new notice API for "Add a Pay Method" notice

Part of #3396
Set correct version on notices.php template
Merge remote-tracking branch 'thenbrent/add_payment_method_issue_3396'