Issue #99: return 3 when service not running

Move towards LSB init spec. Allows opscode chef to manage the neo4j
service.
Fixes broken syntax in docs.
Moves Primitive#*property operations into kernel API

o Introduced AuxStoreOps
o Integration between PropertyData and Property
o Merged the two caches so that NodeImpl/RelationshipImpl is used for all
  caching, even for labels. Closing in on a complete move.
o Makes sure PropertyData#getId() isn't use as it cannot be trusted anymore
o Lock acquiring changed, from 2 to 1 when doing f.ex. a node.setProperty.
  Whether that is OK or not TestPropertyCachePoisoning and TestPropertyDataRace
  should be able to tell when unignored and potentially rewritten
o Plugs in legacy auto-indexing into the KernelAPI
Missing store file throws specific exception so that it can be treated the same way as a mismatching store version... namely to try and upgrade
Merge pull request #839 from tinwelint/2.0-remove-properties-from-primitive

2.0 remove properties from primitive and into Kernel API
Typos.
Fixes #844 - Label predicate do not work on optional nodes that are null
Clean up of SlicePipe
Change to use "keep" for line endings. This will retain double line endings from source.
Merge remote-tracking branch 'origin/master'
Changed the wording on the haproxy doc so that it doesn't seem like we're advocating write-through slaves
Introduce BenchmarkCommandLineInterface.

QuickReadPerformanceTest is first example of a test implementing
low-tech command-line interface.
License headers.
Fixes races condition in getSingleRelationship().

Added test that checks for duplicate entries in the iterator returned by getSingleRelationship. If the iterator contains multiple identical entries, then silently swallow any barf and return the first as the user expected.

Note: this commit is a bit of a band-aid since we really need proper isolation in the kernel. The test and the code likely should be removed in some future state.
Tidied up the unused parameters in NodeImpl.
Add more simple benchmarks.
fix compliance for non-default logback implemenatations

There are use cases when Neo4j is used embedded and the environment provides a custom implementation of SLF4j's StaticLoggerBinder (e.g. https://github.com/grails/grails-core/blob/061f020de1b8563c2ac7aaed421f079d10208237/grails-plugin-log4j/src/main/groovy/org/slf4j/impl/StaticLoggerBinder.java)

These custom implementation might not return a LoggerContext when getSingleton().getLoggerFactory() is called, since it's only guaranteed to retrieve a ILoggerFactory. Neo4j needs to deal with this situation gracefully.

Therefore InternalAbstractGraphDatabase should catch any exceptions upon logging initialization and fall back to ClassicLoggingService if necessary.

Testing this is a PITA, since static methods need to be mocked. PowerMock to the rescue!
Removed shutdown as an option for branched data management in the docs
updating docs on parameters
Improved cluster startup wait conditions