existing manifest options for rev.manifest()

Allows for:

```js
rev.manifest({
  existingManifest: './dist/rev-manifest.json'
  // or existingManifest: { ..assets.. }
})
```

Where that manifest is used as a starting point for the new manifest. This allows for splitting gulp-rev builds into multiple tasks. Also includes `manifestName`, which will write something other then `rev-manifest.json` if specified.