Changes the Java version property to neo4j.java.version
Use JDK 1.6.
fixing build
cypher performance enhancements

rewrote pathimpl
replaced Iterator() with Iterator.empty
replaced List() with List.empty
replaced Seq() with Nil
replaced seq.size with alternative predicates
Adds the Cypher syntax highlighter back into the manual project.
Don't set the limit() on ByteBuffers in EphemeralFileSystem.

Since we allocate new buffers when we are about to overstep capacity anyhow, there is no need to set a limit lower than capacity.
In fact doing so causes issues since we only check for capacity when we re-allocate.

Also renamed the clone() methods to copy() since the classes don't implement Cloneable.
Make EphemeralFileSystem keep track of directories.
Moves licensecheck-config back to the old location which makes sure you get it built when building only community.
Fixes #650 - issue when doing multiple aggregation expressions on the same identifier
Upgrade doctools to fix OSX issue.
Stop publishing docs on the embedded+webadmin combo.
Merge pull request #657 from systay/650

Fixes #650 - issue when doing multiple aggregation expressions on the same identifier
Using exceptions for error handling in store locker
Merge pull request #661 from lassewesth/storelockerrorhandling

Using exceptions for error handling in store locker
Merge pull request #656 from apcj/efs-directories

EphemeralFileSystem fixes and improvements.
Imports
Fixes a rare test timing issue

Multiple threads tried modifying the same unsynchronized ArrayList. This
created a race condition seen on certain machines/OSes in rare occasions.
Refactored to have an internal class for the thread, each instance having
a volatile field with the result instead.
Introduces pseudo quorum writes, moves to synthetic instance ids and fixes concurrent instance startup

Moved from URI as instance identification to an InstanceId class that is based
 on an Integer. Moved server_id from HaSettings to ClusterSettings.
Network instance accepts only one listener and has no need for receiverExecutor
MessageProcessors now form a pipeline that allows for stopping messages
 from going through, via a returned boolean status flag.
Cluster joining has changed. Now a majority of instances need to be reachable
 before the cluster is formed. Also a lot of bugs have been fixed around
 concurrent instance startup.
Renamed ClusterMemberListener.masterIsElected() to
 ClusterMemberListener.coordinatorIsElected()
Adds ClusterMemberListener.memberIsFailed and memberIsAlive()
Fixes in ProposerState. Patches pending instances with the correct set of acceptors
 if cluster configuration changes happen, stop timing out propose on phase1 failures.
AtomicBroadcastState no longer explicitly retries on timeout - it simply
 waits for propose to complete.
Cluster joining can now be explicitly denied via a new joinDenied message.
 That is used for shutting out instances that have a serverId in use.
Adds HeartbeatContextTest and a slight fix in HeartbeatContext revealed by testing
In HA, HAMSM now takes care of receiving memberIsFailed and memberIsAlive events and
 broadcasts PENDING state or does election, respectively, when there is no more quorum

Authored by Rickard Oberg and Chris Gioran
Test cleanup

Moves TestMasterElection into TestPaxosClusterEvents
TestPaxosClusterEvents uses ClusterManager as it should
ClusterManager implements Lifecycle.shutdown(), as it should
ConcurrentInstanceStartupIT uses 3 instances, takes less time and
 less likely to fail
HighAvailabilitySlavesIT properly shuts down ClusterManager
Test cleanup, moves TestItAll master to slave propagation to TestPaxosClusterEvents