Some improvements on collections: size(), remove() and removeAll()

introduced the new interface OSizeable to know the size of certain
iterators without browsing them. New removeAll() SQL function to remove
all the occurrencies. Now remove() removes only the first one
Added asSet() and asList() method to transform in pipeline result in respectively set and list
Minor: changed def level for client log messages
Optimization of remove method
Cache: index records aren't anymore collected
Improved performance on management of collections
Merge branch 'develop' of https://github.com/orientechnologies/orientdb into develop
Minor improvement on collection remove
Minor: used constants for cluster index names
Transaction: warning if the record instance is different than the record in tx, inserted record in transaction ram if has been saved by linking
Minor: fixed object database for non document record from tx
Changed message of multiple record instance in the same tx
Logging of tx rollback reason was added.
Merge remote-tracking branch 'origin/develop' into develop
Added log when record returns NULL stream in transaction
Merge branch 'develop' of https://github.com/orientechnologies/orientdb into develop
Minor: reduced log severity from error to info
Merge branch 'develop' of https://github.com/orientechnologies/orientdb into develop