Be liberal with argument names, and make 1.9-compatable

Passing strings as keyword arguments isn't a thing, so we need to use
the 1.9 syntax to support that case anyway.  I took the opporunity to
make the gem 1.9 and jRuby compatable