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.