Consistency checking for node labels.

Add test for existing label token store check.
Renamed some existing classes and test infrastructure to reduce confusion.
Check inline label ids.
Check for duplicate labels on the same node.
Check for references to not-in-use label token records.
Check dynamic label ids.
Verify that dynamic label records are inUse and cycle-free.
Encapsulate record allocation into DynamicRecordAllocator interface.
Allow tests to reproduce array store layout without needing a real store.
Restructure NodeLabelRecordLogic:
o Use polymorphism to remove repetitive conditional logic.
o Reduce coupling between field format and NodeStore
o Extract label array manipulation into LabelIdArray utility.
Run databases in target directory instead of using default temp file location.
Merge pull request #930 from apcj/2.0-label-consistency-check

Consistency checking for node labels.