Support file output function callback configuration.

Support a function callback for the file option so that you can get access to the target's options object.  This allows you to access the generated option.version and other options more easily.

Excerpt from updated README.md:

#### options.file
Type: `String` | `Function`
Default: *artifactId-version.packaging*
Example: fizzwidget-1.0.0.war

The output file.  You can use either a string or a callback function which takes an `options` parameter.  The `options` parameter includes all the options for this target's configuration.

Example)

```javascript
function(options) {
  // customize output directory name and filename
  return 'target/' + options.artifactId + '-' + options.version + '.' + options.packaging;
}
```