Populate indexes even for UPDATE SchemaRule.

Work around for broken SchemaIndexHaIT; index was not being created on slaves.
Needs review with TL.
Write created flag to transaction log for SchemaRuleCommands.

Write an explicit byte indicating whether or not the schema rule was created.

The created flag on the DynamicRecord is not serialised through any other mechanism,
which was causing inconsistent behaviour whenever the commands we being executed
after deserialisation.

This approach differs from the RecordChanges approach used with other commands;
it seemed unnecessary to serialise the previous state of the records when all we need
is an additional flag.
Provide apply method for CollectionType
Add hashCode methods where required
Add mergeUp

And rename mergeWith to mergeDown
Initial PEG parser for Cypher