Add custom rename function

Currently Grunt's built in rename function requires a `dest` option to be specified to run and is not compatible with the `custom_dest`option provided by this plugin. As it is useful to be able to run replace functions I have added a `custom_replace` function which like Grunt's `replace` takes two arguments `dest` and `src` and is expected to return a single path.