refs #9155. Union-find cluster item implementation.

Incomplete unionWith aspects. This is a necessary working part of the overall connected component labelling strategy.
refs #9155. Include rank, implementation is a little heavy-weight.
refs #9155. Rename to DisjointElement.
refs #9155. Test and fix DisjointElement.

Document new code.
refs #9155. Start applying neighbour finding to iterator.
refs #9155. 1D and 2D neighbour cases verified.

Extensive tests for these. Refactoring still neeeded.
refs #9155. Extend test cases to 3D.

Still need to refactor the working code for this.
refs #9155. Refactor current working.

Avoid all vector resizing possible. Pre-cache as much as possible.
refs #9115. Implement ConnectedComponentsLabelling with 1d tests.

Implement simple testing for connected component labelling.
refs #9115. Extensive testing to check that MD clustering is working.
refs #9115. Performance tests added.

As of yet, I have paid no attention at all to performance. This will be the subject of future work, but I want to make sure that any performance improvements are actually incremental improvements, and not unmeasured hand-waving type changes. Hence this performance test.
refs #9115. Rename class and associated files.
refs #9115. Warns and errors fixed. Perf tests.

I also added some peformance tests directly over the implementation of
findNeighbourIndexes. I noticed that one of the performance tests around
masking in the iterators was taking far too long, of the orer of 10s of
seconds. So I refactored that
peformance test to make the test itself do less work.
refs #9115. Fix issue around auto usage.
refs #9115. Fix GCC 4.4 errors.
refs #9115. Fix pointless check  warning.
Merge branch 'feature/9115_connected_components' into develop