charmstore/router: generate http.StatusNotFound appropriately

This generates messages (and error codes) as expected by the API specification.
Not quite. Any error at all will generate StatusInternalServerError unless it has a Cause of params.ErrNotFound or params.ErrMetadataNotFound. We will probably add more http status codes in the future.