Backport of marshall checks to 0.8.x

I backported 3cfbd78066b634e - is this sufficient to fix the security issues (CVE-2013-1756)?

I had to update gherkin and cucumber, as gherkin was unable to install on my machine.

The only error I'm getting when running the specs is this (not caused by the backport, but might be caused by a dependency change):

    'Dragonfly::DataStorage::FileDataStore destroying should prune empty directories when destroying' FAILED
    expected "/var/tmp/dragonfly_test" to be an empty directory
    spec/dragonfly/data_storage/file_data_store_spec.rb:171