Support Ruby 2.2

Fix for #33.
@whitequark Can you confirm `foo(bar = bar)` was only accidentally calling `bar` on instance when evaluating the default under ruby < 2.2? Or is the behavior change in 2.2 a syntax regression?