Breaks scenarios out into 2 features.
Handles candidate not found exceptions when marking candidate as default.
Brings exceptions closer to related domain concepts.
Makes default version controller more functional.
Minor code formatting.
Checks if candidate exists before releasing new version.
Handles data access exceptions on marking default version.
Moves exception handlers into exception handling controller advice.