Merge pull request #244 from Stebalien/sprockets-compress-sass

Compress sprockets compiled sass/scss by default
Allow  Ruhoh::Parse.data_file to accept absolute path.
Move config and cascade logic to more single-purpose classes.

The config is now capable of being merged together down the cascade.
Defaults can now be set in the system-level config.json.
Remove ruhoh.setup in favor of passing into initialize.
Use delegation technique to better represent config as a Hash.
Don't track config files in collections to allow for in-collection config.
Reorganize main code into separate files.
Config hashes all have to be deep-merged.
Remove dash collection and move functionality into root cascade levels.

The dash shouldn't be a public collection since it's only used for internal UI mode.
page_not_found UI should be in root cascade so it can be overloaded.
Allow any page metatdata attribute to be used in custom permalink.
Add @mudasobwa fix for non-ASCII summaries.

closes #246
Add support to define custom data collections as per the collection API.

Closes #243
Add feature tests for plugins.
remove redundant feature test.
fix typo. This is why you should not commit directly to master.
Merge layout header data with page_data

This allows users to set default titles in templates.

I'm currently using this to get titles working in pagination.
Unfortunately, pagination pages don't have backing pages so there is no
better place to put the title (except in the config but that's even more
hacky)