Plugin to allow front end users to submit a custom post type revision

I'm building a WordPress site of which one of the main features includes a large database of different species of fish stored as posts within a custom post type. The custom post type has a number of custom fields that hold information about each species.

What I'm looking to be able to have happen is for front end users to be able to submit revisions to the posts, for example:
- A user adds new information to a particular fish specie, for example it's geographical region custom field
- A user edits an existing custom field, for example a user corrects a fish specie's maximum size to 30cm from 20cm
- A user adds an entire new fish specie (post) with all the custom field values.

I want any change to go through a revision process where the change must be approved to go live onto the front-end of the site. Optional but not required would be a paragraph text field upon submission allowing the user to submit any references for their information.

Is there any plugins around that could facilitate some/all of this?