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