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.
I think there's an extra set of parens here.

Now that I think about this more -- what if someone sets `'strict_missing'` to `False`, and `'string_missing_exception'` to `'None'`? Then we'll raise a `NotFoundError`. Would that be expected behavior? Probably not, but it's also very possible I'm overthinking this.