Support dynamically building the file list using the built-in Grunt mechanisms

The gist of this is to allow the plug-in to recognize `src` as a stand-in for either `data` *or* `template`. By allowing `src`, Grunt's built-in `src`/`dest` stuff (e.g. `expand: true`) can then work. I think this might be one possible way to solve #13 so that people can specify a dynamic mapping in a declarative fashion.

This is worked out by pre-processing the file list and checking for the presence of `data` or `template` to figure out which of the two input types the `src` represents:

- `src` and `template` means that we have multiple data sources going into a single common template
- `src` and `data` means that we have multiple templates using a single common data source

If there is no `src`, it's just passed-through and processed like before.

Take a look and let me know if you have any thoughts.