Make separate ModelNotFound and HttpNotFound error types

This removes the need to implement IsNotFound for every error type