Support dynamic mapping

This plugin creates destination files' path with special treatment. It's
not a Grunt way. I rewrite to use `dest` correctly for dynamic mapping
and added small ad-hoc codes for backward compatibility.

Seealso: http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically