Pull application of extract options (first, trim_punctuation, etc.) into...

... its own method so it can more easily be reused.

I'm wanting to make local variants of the extract_marc command (currently, extract_marc_unless(spec, lambda_that_returns_a_boolean, options) for fairly escoteric stuff; this allows me to reuse the majority of extract_marc's options processing.