add a more useful fixture

- Use commited ruby-doc pages for 1.9.3 and 2.0
- update fixture specs to reflect the new fixtures
pull url_report out of config

instead pass them as arguments to SiteDiff::dump()
make config ignorant of runtime options

cli.rb overrides as necessary
remove stale Config::to_h
use option short forms as the main identifying form

Thor uses the *main* name of options as keys in 'options'.
fail gracefully when an unknown option is used
remove --paths-from-failures

--paths-from-failures causes undesirable behavior since
it requires that the output directory already contain a
failures.txt file (it's impossible to change the output
directory while using failing paths).

This patch instead introduces --failing-paths. The old
pattern of iterating on:
  sitediff diff --paths-from-failures config.yaml
can now be reproduced by iterating on:
  sitediff diff --paths=failures.txt --failing-paths=failures.txt config.yaml
without the unexpected weirdness.
wipe out the <output>/diffs/ directory everytime.

Otherwise, diff files for formerly failing (but
currently succeeding) paths litter the output dir.
update fixture_spec.rb with new default path for failures.txt
simplify Config::Site
reorganize config munging

* get rid of Site
* Config now stores its data in @config, which is normalized to have
  only three keys: 'before', 'after', 'paths'
* Config munging logic is broken down between:
  - Config::normalize() # given a single hash merges globals into before/after
  - Config::merge()     # merges two normalized hashes (no conflict resolution)
  - load_conf()         # loads a single file, merges all its 'includes',
                        # and detects potential circular dependencies.
typo
stop defaulting on single path '/' if none given
retire config.paths attribute

instead use the normalized Hash and perform
path normalization as part of Config::normalize()
add better docs
don't get fooled by a/../a (circular dependency)
simplify error handling code in Config
improve error handling and docs (Config)
update spec/fixture/config.yaml to use normalized config