issue #21251: credit card processing

Added a new configuration workspace "System", with credit card-related settings
The encryption key takes care of itself, requiring no user input.
You can add/edit credit cards from within customer. Most fields cannot be edited after initial insert. The first 12 digits of the number are masked even for a user with an encryption key.
You can add a credit card on the fly from the sales order screen. You can do this with sales order privs even if you don't have edit-customer privs. The customer record gets locked during this popup phase, and fails if customer is locked by someone else.
You can see a list of the customer's credit cards from within the sales order screen.
Inactive credit cards are suppressed from the SO screen. They are shown but greyed out in the customer screen.
From the SO screen once you choose a card and enter the amount, buttons will appear to process or authorize.
If the "Require CCV" setting is on, you'll also be able to (and be required to) enter a CCV code.
"Process" and "Authorize" both double-check with the user via a popup, and return an informative popup when the request is complete.
Allocated credit and balance are now visible in the SO and quote workspaces, under the line items.