Changes how the kernel version/revision gets generated

The problem:
Kernel version is gotten from 'git describe' which looks at the most
recent tag reachable from HEAD. If HEAD _is_ that commit then it'll be a
clean e.g. '1.9.RC2' version, otherwise it'll add
'-<nr-of-commits-ahead>-<short-commit-hash>'. They way the branches are
set up currently yields that tags made in master will be merged into 2.0.
Therefore the latest tag (i.e. release) of either 1.9 or 2.0 will be
chosen by 'git describe' when describing 2.0.

The solution proposed here:
Don't use 'git describe' since it doesn't suite our branch strategy.
Or rather, still get the 'dirty' part from it (i.e. whether there are
local changes or not when doing the build).
Instead use the version found in the pom, along with current branch and
commit hash (if the version is a SNAPSHOT version). Examples:

  2.0.0-M02
  2.0-SNAPSHOT-2.0-58f0e945df96d9a71184e4a0bbcdaf4e42271770-dirty
  2.0-SNAPSHOT-mylocalbranch-58f0e945df96d9a71184e4a0bbcdaf4e42271770

Caveat for not showing <branch>-<commit-hash> if not a SNAPSHOT is of
course that the version can be faked, but that goes for the previous
solution as well of course where one could alter tags before building.
Fix warnings reported by PMD.
Merge pull request #824 from boggle/2.0-timeout-rest

Document keep alive and include new timeout in response headers
Some minor code style fixes
Merge pull request #830 from tinwelint/2.0-fix-revision

Changes how the kernel version/revision gets generated
Exception handling for checked exceptions that gets thrown in an unsafe way.
Wrap lower level exceptions correctly when checking constraint and indexes. Changed error messages to reflect context.
Ensure that all property methods from *Proxy go through StatementContext

Also implements Property.valueEquals for array properties
StoreStatementContext only load ALL properties for an entity

o Outline of lazy loading of heavy properties implementation.
o PropertyOperationTranslation implements the other property (read) operations in terms of getting all properties.
TxState support for all property operations

o Rename PropertyOperationTranslation to StoreOperationTranslationStatementContext
o StateHandlingStmCtx now inherits from StoreOperationTranslationStatementContext
o TxState: support for tracking created/removed relationship
o TxtState/OldBridging: support for tracking property updates for nodes and relationships
o StatementContext.(node|relationship)(set|remove)Property return previous property now
o Primitive.setProperty: returns previous value now
o Add StatementContext.relationshipDelete
o Add Property.isNodeProperty
o Remove unused methods from StoreStatementContext
o Move StoreOpTranslation to StoreStmContext