API handles not found objects with 404

Reports not found return 404 not 500

Test not found associated object in API v1/v2

not_found as a generic interface for 404s in API

Clean up ways of calling 404 in the API.
Return more informative messages for not_found.

Cleanup not_found around the api and concerns

Restore API route_error and add it for v1

route_error was removed by mistake in a previous commit. This commit
fixes that and also allows route_error to execute in api/v1

Integration tests for API 404 handler

Separate error class from error message (404s)