Refactor: remove special cases from configuration options.

It's easiest to leverage the same "order then set configs"
logic of `process_options_into` rather than treating
libs and requires as special.
Rename `parse_options` to `options` and have it return a memoized value.

The old way was odd. It created an ordering dependency
(you had to call `parse_options` after instantiating the
object but before doing anything else) and calling it a second
time had the side effect of re-parsing the args, which wasn't
needed or intended.

It's far easier/better to make `options` do the parsing
and memoize the result.
Allow `files_to_run` to be used in `spec_helper` when loaded early via `-r`.

This changes it to be lazily rather than eagerly computed.
This is important to allow `pattern` to be set from a `spec_helper`
file loaded via `-r`.