Reverted changes made for gh-524.

* The previous abstraction, while nice, didn't allow for practical per-task setup/teardown. Instead of building further abstraction, I am reverting. This will be addressed in 0.5.
* Multi task functions are now run once per target, not once per file mapping object.
* Inside tasks, this.files is an array of fully normalized/expanded file mapping objects, each with .src .dest .orig properties (as appropriate)
* Inside tasks, this.filesSrc is a flattened, uniqued array of all this.files object .src properties.
* Task authors will be responsible for iterating over this.files or this.filesSrc to process files in their multi task.