Upload script for support

This new entry to the 'bin' directory will upload the datastore
and logs to a write-only S3 bucket.
Further enhancements

* collect arguments rather than prompt the user
* only distribute in enterprise
 neo4j-backup exits with status 1 in case of  foreign destination
Tweaked some wording in the manual.
we'll ignore SUIDs on 1.9.3 or it'll become too tricky to manage
Tweaked some wording in the manual.
Updating how we handle serial version UID

* When we're serialising messages we'll use the serial version UID of the equivalent message from when we first deserialised it. This should work with mixed clusters as when a 1.9.3 instance first joins it will receive a snapshot message containing the other messages meaning we shouldn't be serialising a message of a specific type without first having deserialised that same message earlier.
Experimental RPM support and restructuring of installer-linux

This commit introduces RPM packaging for Neo4j.  It also moves around
the Maven module hierarchy to collect all the linux packaging under
installer-linux.

The RPM's are built from a Maven plugin and depend on 'rpmbuild'.

Yum handling and signing will be done later.
Use LenientObjectInputStream from one more place

* we need to have it called from the part of the code where a new cluster
member first gets a snapshot detailing the MemberIsAvailable messages
that happened elsewhere in the cluster beforehand
removing debug logging
Deprecate WrappingNeoServerBootstrapper
Merge pull request #1106 from cleishm/doc-update

Deprecate WrappingNeoServerBootstrapper
Updated contributors list.
Ensure that all logging to console has same format
Introduce a Class->Module mapping for Logback
Use the Logback formatter even for JUL
Linux installer improvements

Following some feedback from Anders:

* The Debian maintainer name is nicely generic
* The RPM licensing info is accurate
Fixes a race condition in PersistenceWindowPool

There exists a race between refreshBricks() and writing out a PersistenceRow
 that has pending changes, when the latter is mapped over a position that
 refreshBricks() is going to map a persistence window underneath. This
 may lead to an older version of the data being written out over a
 later change.
This fix introduces a counter of persistence rows open over a brick
 which is waited for to reach to zero before a window is mapped over
 the same position. There is a double check happening before the lock
 is acquired and reduction of the counter does not happen under the
 brick lock.
Performance testing shows that this scheme does not affect performance
 in any significant way.
Adds Rolling ugprade instructions for upgrading in the 1.9.x series
Merge pull request #1102 from mneedham/lenient-friday

Introducing LenientObjectInputStream and LenientObjectOutputStream
Swallow an EOFException.

An underlying network stream is exhausted, but the message content has already been extracted. An EOFException is thrown by the underlying code, but it doesn't affect the (correct) outcome of receiving the message at the application level. This commit swallows the exception so that it doesn't appear in the logs.
Formatting in PersistenceWindowPoolTest