[WIP] provenance plugin

Fixes #242.

- [x] add tests, fix style
- [x] get and address feedback

<!---
@huboard:{"order":270.0,"milestone_order":270,"custom_state":""}
-->

@manthey Maybe we should move this class into its own module.