charmstore/router: generate http.StatusNotFound appropriately

This generates messages (and error codes) as expected by the API specification.
Because we don't want parseURL setting status codes. By omitting errgo.Any, we can see at a glance which are the possible places that could be returning an error with a Cause (the only kind of error that can end up setting an HTTP status code)