drop require_relative for rubies < 1.9; assume that the environment (rubygems or otherwise) adds lib to $LOAD_PATH. explicitly add lib to $LOAD_PATH for testing.
only use BasicObject when available; fall back to Object
change require for version to use the same path as other requires to avoid double-requiring version