added an optional `decode_filename` option to DirectorySaver::save_to

If true, the saved filename will be ran through CGI.unescape before
being saved.

closes #262
updated changes for 262