Implement 'all' option on CollectionObject.list

Passing this option fetches permanent collection objects and loans.
Without the option only permanent collection objects are fetched.

This uncovered a yet-to-be-solved problem though. Calling set_dataset
changes the dataset for all subsequent calls as the model is only loaded
per connection, without any variable-like scope. Setting and resetting
the dataset is not going to be a good method of filtering out the loans.

For now, all class methods BUT list() fetch all objects by default.
Don't use set_dataset as a filter for permanent collection records