Move checking of labels on optional nodes to matching

o Store labels in SingleNode patterns and use in MATCH
o Update verification of index and schema hints
o Mark pattern nodes as optional
Updating the Cypher syntax highlighter.
Merge pull request #1154 from systay/optional-nodes

Move checking of labels on optional nodes to matching
Keyword 'end' moved to the correct list in syntax highlighter.
Move token resolution to plan building

o Write tests
o Add Materialize.mapValues
Ensure Map.mapValues gets materialized immediately everywhere

o Introduce helper Materialized.mapValues for this purpose
Merge pull request #1157 from boggle/2.0-resolve-labels

Move token resolution to plan building
Merge pull request #1127 from jakewins/remove-deprecated

Removed a large set of deprecated things from the Core API:
Test to ensure IndexingService can't start w/ mismatching index provider

An IndexingService is started with a SchemaIndexProviderMap that can
resolve a SchemaIndexProvider given a key/version. If initIndexes is
called with an index rule that cannot be resolved (which would translate
to: "Your db has been using provider X for an index and now it's no longer
available") it should fail, and in the extension the database startup will
fail. This was already the case so this just adds a clear test case for it.
Updated changelogs
Workaround query result problem in Cypher docs.
Move neo4j server to Jetty 9