Add an in-memory cache for Sprockets assets.

For some reason Sprockets defaults to no cache, so any change to an asset requires rebuilding all assets. This really hurts for big single-page JS apps. Adding a hash-based cache fixes that. This was figured out by @jvaill, thanks! Fixes middleman/middleman#734.
Merge pull request #25 from bhollis/master

Add an in-memory cache for Sprockets assets.