Recursively remove all the ivars referenced from the spec to avoid leaking memory
Recursively remove all the ivars referenced from the spec to avoid leaking memory

* Updated proxies to not forward ivar and freeze related
  methods.  When they are passed through it is not possible
  to inspect/remove the ivars from the proxy instances.
* Remove the ivars and methods from the models to prevent any
  circular references within the models from keeping the
  model from being GC'd.
* Remove the Repository.adapters reference to the adapter
  after the supported_by block.
* Use object_id rather than self as a key in a Hash stored within
  Thread.local to prevent unecessary references to the object
  so it can be GC'd

datamapper/dm-do-adapter,basex/ardm-do-adapter