Use data reader method, fix collection methods
Use data reader method, fix collection methods

Prepares for caching, which can't be used yet, because there is no
obvious method to reload a repository resource.
Not that it would be very useful in most circumstances, because
obviously repositories aren't likely to change a lot.

The collection methods defined with define_method had a few bugs:
 - reuse of the parameter collection in the define_method lead to the
   surprising problem that the collection changed names in subsequent
   calls
 - xpath returns an empty array, not nil when nothing is found
 - using instance_variables to cache the result now, instead of a hash

xaop/activecmis