Factor out #yield_or_call helper method from #when and #when_not
Fix a variety of usage example cases
Support passing a callable to Results.new