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
Fixes issue which might lead to eternal elections

Member IDs are kept in a hash table which is known to have
 no guarantees for ordering on its keys. This means that we have
 to order explicitly before checking for positions, which we do when
 we check if we are the elector, but we don't when we forward to what
 we think should be the elector. This commit fixes that.
Removes debug output
Updates changelogs for 1.9.3
Merge pull request #1101 from simpsonjulian/rpm-package

Experimental RPM support and restructuring of installer-linux
Merge pull request #1120 from digitalstain/ha-ru-guide-fix

High availability rolling upgrade guide fix
Remove sleep in busy wait in refreshBricks()

Operations in PWP are very fast, making any sleep potentially wasteful.
 Instead do a busy wait.