[#INF-2847] Switched to using a set from index to enable more intelligent behaviour of migration deletions. :@nfisher
[#INF-2847] Add union, diff and intersection for set with tests. :@nfisher
[#INF-2847] Refactoring to split out behaviour into appropriate sub-modules. :@nfisher
[#INF-2847] Minor refucktering to cleanup main. :@nfisher
[#INF-2847] Renaming method names for clarity. :@nfisher
[#INF-2847] Stub schema initialisation. :@nfisher