Refactor catalog#email and catalog#sms

Extract email validation into a stand-alone, overridable method.

Extract sms validation similarly, and move the SMS provider to email gateway mapping into the `Blacklight::Catalog`, where it can be easily overridden.