add strict_missing_exception

assign: @amygdalama 

This allows client code to override NotFoundError for strict_missing.

It's not that great of an interface (I'd prefer to take a function that can return in place of the patch), but it'll solve our problem.
What do you think about creating a custom exception and test that it is raised? I could see `ValueError` easily being raised by a bug.