Fixed packaging deployment for parboiled to be put in /lib, so that neo4j-shell also works.
Remove unused class.

Uses were removed when kernel loopholes were cleaned up.
Introducing LabelScanStore

A LabelScanStore has one responsibility and that is to be able to quickly
and efficiently answer which nodes have a particular label. It will be
updated with node->label changes transactionally and generally integrates
with Neo4j similarly to SchemaIndexProvider, as a kernel extension.

A default implementation using lucene is added, which can rebuild itself
during the recovery phase of the db if the index backing the scan store is
missing or corrupted.

The main point of integration for the reading of a label scan store is in
statement operations method nodesGetNodesForLabel (in
EntityReadOperastions to be precise), where a piece of code looping over
the node store is now replaced by one line asking the active label scan store
instead.

Also the graph database configuration option "load_kernel_extensions" is
removed since there are now so many essential kernel extensions that it
does not make sense to run without. Prior to removing this there was a
SchemaIndexProvider that did nothing but fail when trying to populate an
index and was returned and used when there were no provider loaded. That
would start and work, but make little sense. Instead of going further down
that path with the label scan store that option was removed and exceptions
are thrown on startup directly instead of failing at an arbitrary point
some time in when the database is used.

There's a lifecycle change to get this to work, or rather some cleaning up
of lifecycle management in NeoStoreXaDataSource in that:
 o init
   - previously: life.init()
   - now: <nothing>
 o start
   - previously: life.init(), recovery, life.start()
   - now: instantiates a new LifeSupport, life.init(), recovery,
     life.start()
 o stop
   - previously: life.stop(), force
   - now: force, life.shutdown()
 o shutdown
   - previously: life.shutdown()
   - now: <nothing>

This change works, and is cleaner, with HA where potentially multiple
start()/stop() sequences are issued
Merge pull request #1138 from jakewins/batch-bork

Fixes index corruption in batch inserter
Use Property.isDefined() to remove the need for HasProperty.

In the Kernel API, there is no need for nodeHasProperty or
relationshipHasProperty, since they are implemented as *GetProperty()
followed by isDefined() on the returned Property (or NoProperty)
object anyhow. Since this is an internal API, there is more value in
keeping it small, so we might as well do that in the places of use
instead.
Check for NO_SUCH_{LABEL,PROPERTY_KEY} inside the Kernel API.
Reverting UnboundValue and OptionalsPipe
Change commands.Pattern to use objects for Node representation instead of a string
Merge pull request #1122 from tinwelint/2.0-label-scan-store

Introducing LabelScanStore
Merge pull request #1137 from thobe/2.0-no-kernel-api-has-property

No HasProperty methods in the Kernel API
Merge pull request #1135 from jexp/parboiled-packaging

Fixed packaging deployment for parboiled to be put in /lib, so that neo4j also works
Removed a large set of deprecated things from the Core API:
 o Settings is now cleaned up, all deprecated things are removed.
 o GraphDatbaseService now only has one deprecated method left - getReferenceNod(