Add whiny_nils configuration variable to control behavior on nil bindings

The use case is that sometimes I want to be able to call `garner.bind(something) { }` where `something` may be nil. The result won't be cached, but it also won't raise an exception. I set the configuration variable to default to the old behavior.
I would check for a specific exception.