Solves shortest path end points when they are missing

This commit solves a problem with patterns where only one side
of a shortest path is bound, Neo4j failed to build an execution
plan.
Merge pull request #3001 from systay/fix-shortest-path-builder

[2.0] Solves shortest path end points when they are missing
Merge remote-tracking branch 'upstream/2.0-maint' into 2.1-maint

Conflicts:
	community/cypher/cypher-compiler-2.0/src/main/scala/org/neo4j/cypher/internal/compiler/v2_0/executionplan/ExecutionPlanBuilder.scala
Browser: escape server response to prevent XSS.

Fixes #2139
Fixed copy paste bug
Docs fixes around mvn, tx, config, shell.
Revert: the restriction of types broke nested maps
Merge pull request #3016 from nawroth/docs-fixes-2.1

Docs fixes around mvn, tx, config, shell.
Merge pull request #3014 from pontusmelke/revert-strict-type-checking

Revert: the restriction of types broke nested maps
Merge remote-tracking branch 'upstream/2.1-maint' into 2.1-prettier-exception-in-backup