Add .ruby-version and .ruby-gemset for RVM
Refactor the func runner to support both binary and unary functions