Document all available commands in usage message of neo4j service script.
Fix: Better JRE detection in Windows

1. Looks for both 64-bit AND 32-bit JREs

2. Works with all JRE directory names
The old version assumed that there is exactly one space character in the
name (e.g. "C:\Program Files\Java\jre7")
32-bit JDKs/JREs are installed to "C:\Program Files (x86)\Java", which
has two spaces. Also, Java can be installed to a custom directory, so
the single space char assumption is not a good idea.

3. Console command uses the detected Java instead of "java" from PATH.
Introduce NEO4J_CONFIG and NEO4J_LOG vars

It will ease the job of package maintainers
Updated Setting API, accessible through Settings
Old GraphDatabaseSetting classes are now wrappers for Settings instances
Settings that should be File, are now File. Internal use has been overhauled to use File instead of String in as many places as possible
GcrSettings introduced, separate from GDS
UDC settings reintroduced, with appropriate checks in usage for whether it's on classpath or not
HostnamePort introduced as domain value for host:port or host:port1-port2 ranges
Functional programming used when appropriate, through Function and Function2, with helpers in Functions
Specification removed in favor of Predicate, and Specifications renamed to Predicates
Less warnings
Fixed TestIsolation so it doesn't hang on DeadlockException
Fixed license header
Cleans up properly
Separated HighAvailabilityMembers into HighAvailabilitySlaves / Members
and introduced abstractions along the way to be able to write mocked
tests.
Merge pull request #306 from tinwelint/rewritten-ha-members

Separated HighAvailabilityMembers into HighAvailabilitySlaves / Members
Preliminary fixes to get snapshot synchronization in place
A couple of optimizations regarding read performance:

* Cache refers to relationship types as ints instead of Strings.
* Binary search on sorted arrays for finding properties and
  relationship types in the cache.
* Less objects instantiated during getting and iterating relationships.
* Reduced number of map lookups significantly for a getProperty call,
  especially outside transaction or in transactions without any changes.
  (previously 8 lookups whereof 2 synchronized, now down to as low as 2)
* Uses ThreadLocal as mapper from thread to transaction
* Refactored LockReleaser into TransactionState, associated with each
  transaction instead
Revert "Adding build note that Maven 2 is required"

This reverts commit 76e2ec458cfab6cbeb079b811bd642d1a4d35ee9.
Ignore .mailmap.
Updated contributor list.
Introduces the beginnings of a Cypher SPI, focused around the QueryContext interface, which serves as a common abstraction around many disparate concepts, such as isolation and profiling.
Merge pull request #308 from jakewins/read-committed

Introduces the beginnings of a Cypher SPI
Merge branch 'master' of https://github.com/neo4j/neo4j into configuration

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/configuration/Config.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/client/ClusterClient.java
	enterprise/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckService.java
	enterprise/consistency-check/src/main/java/org/neo4j/consistency/ConsistencyCheckSettings.java
	enterprise/consistency-check/src/main/java/org/neo4j/consistency/checking/old/ConsistencyRecordProcessor.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/HighAvailabilityMembers.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/HighlyAvailableGraphDatabase.java
	enterprise/ha/src/test/java/org/neo4j/ha/MultipleClusterTest.java
	enterprise/ha/src/test/java/org/neo4j/kernel/ha/HardKillIT.java
	enterprise/ha/src/test/java/org/neo4j/kernel/ha/TestMasterElection.java
	enterprise/ha/src/test/java/org/neo4j/kernel/ha/TxPushStrategyConfigIT.java
	enterprise/ha/src/test/java/org/neo4j/test/ha/TestIsolation.java

Also implemented snapshot synchronization for HA
Updated contributor list.
Merge pull request #296 from jotomo/master

Document all available commands in usage message of neo4j service script
Fix for problems when using patterns with multiple unnamed nodes

To not have to use the same unnamed-numbering between parser versions, Pattern classes had a custom equals() method that ignored unnamed numbering.
This lead to a bug where patterns with multiple unnamed pattern relationships where dropped, and the user got a un-connected pattern exception.

The fix is to not ignore unnamed-numbers when doing equality checks. Unfortunately, this leads to having to have tests for the specific parsers, which is why
so many new tests where added to CypherParserTest