Revert "Revert "Include browser in the regular build.""

This reverts commit 9951be8741259c6029c81adf65a2844eadd2decf.
Bower doesn't need to run as part of the build.

All the components are checked in.
Pick up grunt from the local NPM modules so it doesn't have to be installed globally.
Clarify profile for activating browser build.
Browser project depends on Kernel for Version class.
Improved the build instructions.
Make Browser versioning consistent with the rest of Neo4j.
Move neo4j-browser into the org.neo4j.app group.
Fix docs spelling mistake.
Fix issue when mixing Cypher queries of different versions

If the same query ran first using version 1.9 and then 2.0,
an exception was thrown.
Merge pull request #1498 from benbc/2.0-merge-browser

Include browser in the regular build.
Fixing quoted java path in Neo4jInstaller
Fixing quoted java path in Neo4jInstaller: super brittle string manipulation failed when there was a leading space
Primitive long hash set that uses hop-scotch hashing

Hop-scotch hashing is an algorithm for dealing with conflicts coming from
hashing values to an index and not really about the hashing itself, as any
hash function can be used with it.

Measured to be faster, for both putting and getting, than trove4j and
substantially less, also dry code. The algorithm itself is pulled out into its own
class and clocks in on about 200-300 LOC, whereas the hash set/map
implementations merely uses that algorithm by using one-liner method
implementations. The state itself is abstracted into a Table interface
which is trivial to implement with, for example a primitive long[], a
combination of long[] and int[] for a long->int primitive map, a.s.o.

Implementation was driven by an iterative randomizing testing framework
also added in this commit where actions are defined, for example "add" and
"remove" with checks that goes with the actions. In the event a check not
returning OK the execution stops, reduces the list of actions down to a
minimum (by brute-force-reduction one action at a time) and finally prints
a java-code test case to reproduce the problem. Confidence in the code is
very high since it has been tested for a very large combination of values
and sizes.

We should use these primitive sets/maps everywhere we've got an int or
long as key.