Style fixes
Added a note about Admin privileges and SmartScreen to the Windows installation part of the manual.
MERGE with named paths
Unused imports
Updated docs: transactional endpoint, jmx, constraints, delete.
Make EphemeralFS able to dump snapshots as zip files.

In order to debug issues that occur with ImpermanentGraphDatabase, make
it possible to dump the contents of a EphemeralFileSystemAbstraction to
a zip file for analysis of the data.

This has been integrated in the CypherDoc generation, in order to get a
better view of issues, should they occur there.
Locking service for use in IndexingService.

Populating the indexes requires reading from the store files. That needs
to be synchronized such that applying transactions does not conflict
with the index populator reading the state of the store, since the store
might be in in inconsistent state while the transaction is being
applied. This locking service is simple and efficient, and will avoid
issues with interfering with the standard locking system, as re-using
the LockManager would have done.

Really, this is intended for a lower level of locks, where the existing
LockManager locks entities on a logical level, and distributed across a
cluster, this LockService locks entities on a record level, and only
locally on the same instance, never across instances in a cluster.

This locking API also included LockGroup, which can be used to group
multiple locks in a scoped region for releasing all at once at the end
of that region.
Merge pull request #1587 from chrisvest/manual-installation

Expand on the documentation for installing as a service on Linux, and ru...
Unix line endings (converted to DOS endings in build process)
Ensure that bat scripts can be called from any working directory.
Fix typos in error messages.
Better java detection and warning messages.
Integrate LockingService into IndexingService.

Use the LockingService to mutually exclude WriteTransaction and index
populators from the same nodes. This is done by having WriteTransaction
acquire locks for each node it updates, releasing them when transaction
application completes, and by having the store scanner that the indexes
use acquire a lock for each node that it reads, releasing it after it
has completed reading that node. This ensures that the node does not
change while the index populator reads it.

In order to introduce a clear lock region for when the index populator
reads a node, the NeoStoreIndexStoreView had to be refactored. It now
does node processing in two distinct steps:
1. reading - this is done under lock to ensure a consistent view of the
   node.
2. processing - this is done after the lock has been released, to allow
   the processing to be something complex, while minimizing the locked
   region.
Where NeoStoreIndexStoreView previously used the RecordStore.Processor
API, it now does the iteration itself to allow the lock to be lexically
scoped, making it much easier to reason about. Otherwise some mechanism
similar to the previous LabelsReference would have had to been used, and
LabelsReference was too complicated to follow even for its simple task,
it would have been even more complicated to use that pattern for locks.

While this change reduced the "reuse value" of RecordStore.Processor, it
also reduced the total size of NeoStoreIndexStoreView (slightly), which
should make it a valuable change in of its own.
Merge pull request #1594 from apcj/2.0-startup-scripts

2.0 startup scripts
Allow whitespace following unioned query

Fixes #1575
Merge remote-tracking branch 'origin/1.9-maint' into 1.9-maint
Merge issues fixed
Code cleanup for HA fixes.
Merge pull request #1597 from cleishm/multiple-unions

Allow whitespace following unioned query
Keeps explicit state whether a transaction is remotely initialize or not

instead of relying on lock information (whether any lock was grabbed or
not). There was a problem where the "old" transaction state was checked
for locks and not the new one (the one in the Kernel API), or preferrably
both should have been checked. But that approach was error prone so an
explicit flag is better and safer.

Also renamed TxHook --> RemoteTxHook because that name and its method
names were so misguiding that it slowed down reasoning around problems
where it was involved.

The fix in this commit is for a regression from 1.9, but may also fix some
other corner cases with remote transaction management.

Also had to pull in some constructs from
e5cdeec2b7706aefd1bb88cd62409a0591ca2f0f due to differences in data source
enlisting timing between 1.9 and 2.0.

(cherry picked from commit e9a88b91d0c59627a25f81d0b523ba44cea3890b)

Conflicts:
	community/kernel/src/main/java/org/neo4j/helpers/Exceptions.java
	community/kernel/src/main/java/org/neo4j/kernel/DefaultTxHook.java
	community/kernel/src/main/java/org/neo4j/kernel/InternalAbstractGraphDatabase.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/NoTransactionState.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/TransactionState.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/WritableTransactionState.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/nioneo/store/NeoStore.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/TransactionStateFactory.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/TxManager.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/HighlyAvailableGraphDatabase.java