Check arity rather than rely on Ruby version for Psych argument number change

Fixes Issue #16

Possible interface change:

* safe_load will accept a filename but only pass it on if psych supports receiving it