Issue #99: return 3 when service not running

Move towards LSB init spec. Allows opscode chef to manage the neo4j
service.
Puts up the access guard when handling a kernel panic to prevent users of
the database during the recovery to get random failures.

co-author: Lasse Westh-Nielsen
Changed the SecurityRules implementation so that all the rules are held within our code (rather than the underlying Web Server).

This has the most immediate benefit of fixing a bug whereby we seem to overwrite previously registered security rules with ones we register later. Dunno how that escaped us when we were building this first time around.

A second side effect is that we're a bit more portable.

Also my IDE formatted a bunch of code to the house style.
Changed POM back to 1.9-SNAPSHOT after inadvertently changing it to 2.0-SNAPSHOT somehow
Sorting out a merge error where I'd accidentally introduced a 2.0 UDC dependency.
Set new version in master.
Makes sure no traces of the index config is left behind if acquiring an
index resulted in its configuration to be created, but with an invalid
configuration.
Make Cypher execution results closable

o Introduces ResourceIterable/ResourceIterator
o Makes ExecutionResult implement ResourceIterable
Merge pull request #833 from systay/closable-execution-result

Make Cypher execution results closable
Fixes broken syntax in docs.
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!