charmstore/router: generate http.StatusNotFound appropriately

This generates messages (and error codes) as expected by the API specification.
Because these codes need to travel across the network. If they were just errors, they wouldn't be comparable for equality after unmarshaling.