This saves a lot of time for large classifiers by waiting to invoke it until
after some initial bucket setup has been done. In particular, initQuote.
DelayedStagingBucket exists to try to limit the number of events that are
kicked off. In this case, initQuote typically uses setCommittedValues,
which DelayedStagingBucket does not override. However, overriding it did
not provide a whole lot of benefit, since initQuote also calls
getDataByName, which forces DelayedStagingBucket to flush so that hooks can
run validations and such.
The last step in Client#_changeQuote is to force the classifier to run, so
this should be safe, unless calculated values happen to use classification
results, in which case they'll be momentarily wrong and then immediately
updated after the classifier runs.
The `"(),:;<>@[\]`` are allowed in the "local-part" of an email address
under certain circumstances, but our regex is not checking those
circumstances. It is better if we do not allow them until we improve