Update ODatabaseRecordAbstract.java

For backward compatibility.
Due to many existing APIs to save document by calling default doc.save() without specify cluster name, if create multi clusters, it will do round robin to shard document equally in each cluster, no way to specify cluster to store, especially in distributed mode,

To solve this issue, i can create a hook to change cluster id for each document to give the fix cluster Id to store and set DISTRIBUTED_EXECUTION_MODE to SOURCE_NODE.
Update ODocument.java

Add to toMap function for ODocument
fixed connetion not close on connect negotiation failure.
Switched to 2.0-SNAPSHOT (final)
added api to prevent closing plugin class loader in server shutdown
Issue #2861 was fixed without tests.
fixed connection release on excpetion.
Merge branch 'develop' of github.com:orientechnologies/orientdb into develop
fixed double connection release issue.
Fixed issue #2870
Fixed issue #2869
generalized fix on dobule connection release.
Merge branch 'develop' of github.com:orientechnologies/orientdb into develop
fixed issue on lightweigth edge conversion.
New lock exception info added. Now when dead lock is detected information about both thread which own lock]
is provided.
Fixed issue #2870 adding support for multi-labels
Issue #2861 was fixed.
Fixed multi-label separator in #2870
fix connection pool, now the limit work and the connection are release properly.

Conflicts:
	client/src/main/java/com/orientechnologies/orient/client/remote/ORemoteConnectionManager.java
	core/src/main/java/com/orientechnologies/common/concur/resource/OResourcePool.java
Fixed issue with ridbag as result