Fixes #142
Merge pull request #145 from amanking/master

Fix for with_index call on Array
Themes no longer nest into 'themes' folder.

Defining a theme necessarily uses the theme name as the resources folder.
Add watcher for blog level layouts folder.
Parse config['exclude'] value at the point of usage

This let's all resoruces use the exclude config without having to set it up individually.
Base generate method should return pointers if no model is defined.
Provide @collection to base compiler class as convenience.
Ensure _base resource is always loaded first.
Remove generating javascripts and stylesheets from theme.yml file.

theme.yml is not an intuitive workflow. Assets are no longer managed by the database, they will simply be references as normal from their links.
javascripts and stylesheets resources now handle their own previewing.

Previously themes handled the asset previewing which is why they were skipped over.
urls should cascade from longest to shortest so the most specific routes get handled first.
Implement 'stylesheets.load' block helper as the new interface to load stylesheets.
Implement 'javascripts.load' block helper as the new interface to load javascripts.
theme no longer compiles javascripts or stylesheets

Implement asset compiler to compile stylesheets and javascripts.
Omit layouts from theme compilation.
Remove unused layouts stylesheets update calls.
Always remove leading slash as an effect of url_to_path.
Load persisted(cached) resource objects.
Store and cache all calls to stylesheets.

Exposing a writer to the cache allows us to mutate the cache in the event we need to rewrite the urls.

This of course comes in handy when we do post-processing on assets and update the urls to include a digest hash.
Store and cache all calls to javascripts.

See previous commit for reasoning.