convert all collections to PersistentCollections on flush

this required a considerable refactoring in the collections and also resulted in some BC breaks. most notably Collections are now only managing the documents that have explicitly been assigned or that where fetched initially from the PHPCR store. use the new $collection->refresh() method to force an immediate refresh from the PHPCR store.