Geospace endpoint to mark a dataset as a curated georegion

The code changed significantly from the early commits so it's probably best to just review the current state of the diff.
The parent class has error handling built into it so we're just throwing errors from the routes to be handled later on.