Reopen a need: Model code and Unit tests
Rename needs to be more consistent
Add new revision action type
Rename `main_need` to `canonical_need`
Add controller code and functional tests for reopening needs
New route and integration tests for reopening needs
Add refutation of canonical need having duplicates