Optimisation, Hash#delete returns the deleted item
Regenerate @_lookup_cache after each manipulation

Trying to call Resource#metadata from within
MyExtension#manipulate_resource_list generates an exception in
Proxies::ResourceInstanceMethods#get_source_file because @_lookup_cache
is empty. Moving the recalculation inside the loop means regenerating
the cache after each manipulation but allows extensions to examine the
page metadata when manipulating proxied resources.
Merge pull request #528 from rumpuslabs/sitemap_patches

Sitemap patches
Add trailing_slash option for prettier urls

"set :trailing_slash, false" will cause resource urls that match the
index_file to have the trailing slash stripped off the directory URL,
e.g. instead of "/dir/index.html" becoming "/dir/" it will be "/dir"
Make directory_indexes check the destination_path

If the destination_path matches the index_file but the original path
does not (as can happen with proxied resources) then directory_indexes
will add the index file a second time, e.g. resource.path = "myres.html"
and resource.destination_path = "myres/index.html" then
directory_indexes will convert this to resource.destination_path =
"myres/index/index.html". This patch fixes that by making
directory_indexes check the destination_path when determining whether to
reroute.
Added strip_index_file option for configuring urls
Tests and a small bug fix to make them pass
Merge pull request #530 from rumpuslabs/trailing_slash

Add trailing_slash option for prettier urls
Use plain Dir.chdir instead of enclosing middleman in a Dir.chdir-block.

This allows extensions, templates and monkey-patches to chdir
when needed, without triggering this ruby warning:

  warning: conflicting chdir during another chdir block
Merge pull request #531 from m-o-e/chdir_fix

Use plain Dir.chdir instead of enclosing middleman in a Dir.chdir-block.
Markdown engine should not be nil
Merge pull request #521 from bhollis/markdown

Use middleman's image_tag and link_to helpers from within Redcarpet markdown
Merge pull request #532 from rumpuslabs/markdown-not-nil

Markdown engine should not be nil
Update master
Added :sass_cache_path custom config of SASS cache directory

The default output of SASS .sass_cache directory is in the Middleman app root directory, which to my mind adds clutter to the directory.

Secondly, when storing Middleman apps in a Dropbox subfolder, the .sass_cache directory gets synced unnecessarily.

This fix enables moving the .sass_cache directory to any path on the system, such as the "/tmp" directory for automatic discarding of files when restarting the system.

Suggested usage:

    #in config.rb
    set :sass_cache_path, File.join('/tmp', "middleman-#{File.basename(Dir.pwd)}", "sass_cache")

which could return something like:

    `/tmp/middleman-example.com/sass_cache`

This keeps multiple projects separated and easily identifiable.
Tests for :sass_cache_path custom config

First time working with Cucumber, so perhaps not the best way to do things.

* Tests for default setting which stores the .sass_cache directory in Middleman app root.

* Tests for custom setting which stores the .sass_cache directory in /tmp directory.

Please Note!  Unable to test the output of the default .sass_cache location since the directory is stored outside of the app root during testing, but inside app root in "production"
Update susy gem installation command.
Merge pull request #539 from theotheo/master

Update susy gem installation command.
Moved :sass_cache_path from global to Sass renderer
Merge pull request #536 from kematzy/fix-sass-cache-location

Fix sass cache location