Enable schema changes on master of HA cluster.

Remove HA concept from kernel; replaced with SchemaChangeGuard.
Replace ReadOnlyStatementOperations with guard on upgrading
transaction for data write or schema write.
Change (default) in-memory index impl to be list based.

This would be useful for exposing issues where duplicate entries are added to an index.
Currently no test cases expose such a case.
License headers.
More license headers.

Also put UniqueConstraintHaIT to its previous state.
Acquire statement inside transaction.
Address PMD import warnings.

Removing unnecessary fully qualified names.
Specify parameter for static import check to allow up to 10 static imports per file.
Schema changes are not allowed from slaves of an HA cluster.
Temporarily removed section that was causing build problems
Removed PropertyData (the old property representation)

The move of property handling to the kernel API isn't fully done. One
aspect of that "incompleteness" is that we've get the old PropertyData
class hierarchy, while using a new very similar Property class hierarchy
in new code in the kernel API. PropertyData had one #getId() method that
Property doesn't, but that wasn't used anywhere.

Also represents tokens (label/prop key/rel type IDs) as ints instead of longs

This commit only changes the in-memory representation, not any store
format. The reason this long-->int switch ended up in the same commit as
the removal of PropertyData is due to hard conflict merging jumbling up
the two separate commits into commits that couldn't have been cleanly
applied separately.

Known store constructs still storing tokens as if they were longs:
 o IndexRule propertyKey
   from the outside it now looks like it's an int, but putting/getting
   to/from the ByteBuffer uses putLong/getLong
 o NodeLabelsField
   even from the outside it looks like longs. This is mostly due to the
   wat we decided to piggy-back on the long[] labels array, where we put
   the node id (which is a long) into that array as the first element.
   Converting this to an int[] externally would incur more array copying
   back and forth between int[]<-->long[] there.
 o HA protocol Master#acquireIndexEntryWriteLock still uses long for
   labelId/propertyKeyId to not change the protocol.
 o There might be more...
More efficient cache representation of node labels

o Previously represented as Set<Integer>, now as int[].
o Also labels are included in sizeOf calculations.
Simplify Property type hierarchy.

With property key IDs being int, we can store the id in the root of the hierarchy
and still maintain the same (minimal) object size overhead. This allows us to
remove a few types from the hierarchy.
Merge pull request #1169 from tinwelint/2.0-remove-property-data

Removes old PropertyData and uses int instead of long for tokens
Remove support for bare nodes with labels in patterns

When using labels in patterns, parenthesis must be used.
ie. CREATE (n:Foo:Bar)