Activate Grunt rev task

- Prepends js and css file names with md5 of
contents so web browsers don't load cached files
when the contents has changed.
Add no-cache headers on Ajax GET calls.

- Fixes IE 9 getting 304:s form the server when requesting labels etc.
UI/UX fixes

* Cypher frame height fix.
* Give REST frame correct CSS classes for errors.
* Make more sense of REST error messages.
* Show long error messages in frame body.
Fix graph rendering on IE 9

* IE 9 has something called window.performance but not
the method now on that object.
Make the primitive collections visitors generic over Exception types.
Fix inconsistent counts

Counts were becoming inconsistent when deleting a node and its
relationships in the same transaction. This is fixed by inspecting
the (pre-state) labels and relationships of the node that is being
deleted when building the counts from the transaction state.

Counts also became inconsistent during recovery, since commands in
the log did not contain information about the relationship type for
deleted relationships. We need this information in order to be able
to consistently update the counts, since we cannot trust what is in
the store during recovery. This is fixed by adding type information
to removed relationship commands in the log.

Recovery of the counts store also has a problem in that the counts
store did not have a marking to signal that it is inconsistent, since
it was updated in place. To mark the store as inconsistent / incomplete
the file is truncated before writing of the store is started.
Reading of a truncated file will show up as an IOException in
openVerifiedCountsStore(), this is handled in the same way as the
previous internal-consistency-check (which is still in place, and
complements this new additional check) of making sure that the number
of expected data entries written in the header matches the actual
number of data entries in the store.
The truncation is required since we would otherwise not be able to
recognize a partial write of the store where the new number of
records is the same as the old number of records.
Log when recover index samples on startup
Log manual triggering of index sampling
Code cleanup
Log when evicting stale plans
Fix: unused imports
Updates changelogs for 2.2.0-M01
Merge pull request #3501 from davidegrohmann/2.2-counts-consistency

Fix inconsistent counts
Internal server cleanup

This does not go quite as far as it should, but goes a little way towards
cleaning up stray items in the server. The package structure needs a bigger
cleanup, but that job is much more complex as several interfaces in the
internal packages are exposed as public API and are thus unmoveable directly.

- Remove unused services and classes
- Move REST service classes into rest package
Uses garbage free read-method on Reader for CSV reading

i.e. the method accepting a char[]. The read-method accepting a CharBuffer
is implemented wastefully in Reader, and should therefore be avoided. This
means that a new interface has been introduced, of which javadoc explains
the situation as well.
Correct package for cypher compiler ComponentVersion
Correct package for cypher compiler ComponentVersion
Merge pull request #3476 from tinwelint/2.2-less-gc-thread-ahead

Uses garbage free read-method on Reader for CSV reading
Merge pull request #3505 from digitalstain/master

Updates changelogs for 2.2.0-M01
Merge pull request #3496 from oskarhane/2.2-fix-graph-render-ie9

Fix SVG graph rendering in IE 9