document SSL chained certificates
Fixes #973

Since logback is a weak dependency, i.e. it may or may not be present at
runtime there cannot be an import referring to it. Instead a
LogbackWeakDependency class is introduced which contains reflection code
to try to load it, with a fallback if not present.
Fixes #58

o Introduces GraphDatabaseSettings#logical_log_rotation_threshold for
  controlling log size for auto-rotation.
o a logical_log_rotation_threshold=0 value means no auto-rotation.
o These two above will replace the setters on XaLogicalLog and
  XaDataSource, namely #setLogicalLogTargetSize() and #setAutoRotate(),
  but they are just deprecated for now.
Fixes #62

o More descriptive error message for missing cache type.
Moved server plugintest to a separate module.

This means that they can be part of the regular build now,
and don't have to be run separately.
Correcting spelling mistakes in the comments.
Removed a sys out.
Split up and rearrange docs on creating unique nodes.
Merge document SSL chained certificates by SA.
Merge pull request #991 from tinwelint/fix-62

Fixes #62
Merge pull request #986 from tinwelint/fix-58

Fixes #58
Merge pull request #982 from tinwelint/fix-973

Fixes #973
Fix CypherDocIT breakage cause by changed Cypher semantics

o This is about x.foo now being null if x.foo is not defined on x and
  x.foo? and x.bar! having been removed
More work preparing the experimental parser

o Now accepts patterns with properties without parentheses
o Now accepts CREATE/DROP CONSTRAINT
o Solves problem with named variable length paths that use relationship collections
Ensure predicates are applied during matching

Currently null checks are done separately, which is inconsistent.
Normalizing this behaviour for 2.0
Update documentation
Add @SafeVarargs in CypherDocIT to get rid of some warnings
AutoConfigurator can now handle case where physical memory < JVM memory
Merge 1.9 (branch '1.9-maint') into 2.0 (branch 'master').

Conflicts:
	community/embedded-examples/src/test/java/org/neo4j/examples/GetOrCreateDocIT.java
	community/kernel/src/main/java/org/neo4j/kernel/AutoConfigurator.java
	community/kernel/src/main/java/org/neo4j/kernel/InternalAbstractGraphDatabase.java
	community/kernel/src/test/java/org/neo4j/helpers/SettingsTest.java
	community/server/src/main/java/org/neo4j/server/AbstractNeoServer.java
	enterprise/server-enterprise/src/main/java/org/neo4j/server/enterprise/StandaloneClusterClient.java
Compilation Failures:
	kernel/src/main/java/org/neo4j/kernel/impl/transaction/xaframework/XaFactory.java
	kernel/src/test/java/org/neo4j/kernel/impl/nioneo/xa/WriteTransactionTest.java
Add transactions around Server Plugin execution.

Transactions are used in two places around plugin execution:
o When getting the parameters for the plugin.
o When serialising the result from the plugin.

The plugin is responsible for the transactions required for the execution of the plugin.