provenance plugin

Fixes #242.

- [ ] add tests, fix style
- [ ] get and address feedback
Since `Resource` mixes in `ModelImporter`, we can just use `self.model('item')` and remove the `ModelImporter` import.