Make RESTful operations return 404 Not Found when the target resource does not exist.

In the original implementation, GET, DELETE and PUT operations on
non-existent resources used to return 500 but not 404.
Done.

I agree that it is safer for future addition of resource types, although there's no current Storage implementation whose Create() actually returns a not found, IIUC.