Modifications (and tests) to allow the extension to cache optimization between runs.

The caching consists of two stages.

1.  On the first run, after optimization, the extension will generate a
manifest file containing the modified timestamp for each image in the build
directory.  On subsequent runs, if the timestamp of the file has not changed,
we will not try to optimize it again.  The manifest is stored in the build 
directory and is called `imageoptim.manifest.bin`.

2.  By default Middleman will overwrite optimized images with the source image
on every build.  The extension now inspects the sitemap for image resources
and looks for an existing file in the build directory.  If the file exists and
if it is newer than the source file, we fake out Middleman by changing the
source to poing to the existing file in the build directory.  This causes
Middleman to see the file as unchaned and we avoid overwriting it.

The following cucumber scenarios have been added.

Scenario: Basic optimization Scenario: Storing timpestamps to avoid
re-optimization Scenario: Skipping optimization when the timestamp hasn't
changed Scenario: Regenerating the build image if the source has changed

To run the scenarios just run `cucumber`.

~~~bash
$ cucumber
~~~