Support for grunt target "files" #159

This pull request provides support for the `files` Grunt target option (Issue #159).  It supports both the [files array format](https://github.com/gruntjs/grunt-docs/blob/master/Configuring-tasks.md#files-array-format) and the [files object format](https://github.com/gruntjs/grunt-docs/blob/master/Configuring-tasks.md#files-object-format).  It does not support `fast`, but that could be added later.

Any feedback is welcome and I am willing to rename stuff / refactor as needed.

*To Do:*

- [x] Implement `files` with `src`
- [x] Support for multiple elements in `files` array
- [x] Support for single object literal in `files`
- [x] Support for empty `files` misconfiguration (don't crash)
- [x] Warn when attempting to use `watch` with `files`
- [x] Warn when attempting to use `fast` with `files`
- [x] Warn when attempting to mix `files` with base `src` or `dest`
- [x] Warn when neither `files` nor base `src` / `dest` are used
- [x] Implement `files` with `dest` for output to single file. ([using files array format](https://github.com/gruntjs/grunt-docs/blob/master/Configuring-tasks.md#files-array-format))
- [x] Implement `files` with `dest` for output directory. ([using files array format](https://github.com/gruntjs/grunt-docs/blob/master/Configuring-tasks.md#files-array-format))
- [x] Implement files with object format.
- [x] Handle missing `dest` in files reasonably.
- [x] Warn on `dest` array.
- [x] Handle failed compilations in one `files` set and successful compilations in another set in a reasonable way.
- [x] Tests for all of the above.
- [x] Have "src" warning test clean up the extra .js files (or add to .gitignore).
- [x] Update documentation
, but that