Fix bug in instance_variables retuning non-ivars

Sometimes, this method would return the singleton methods defined on an
object. This fix simply checks each property on the receiver is not a
function (by a raw name check), so any other property becomes a valid
ivar name.