[nomaster] SI-6773 Makes the SI-6150 changes binary compatible with 2.10

The back ported fix of SI-6150 1f0e4880ad7ad816fd82c04f6814c5b165f86981
broke binary compatibility. This commit fixes that by removing the
IndexedSeqFactory class and copy/pasting its one method around to
everything that extended it then re-adds some inner
classes needed by the binary compatibility checker.
Merge pull request #2064 from JamesIry/2.10.x_SI-6773

[nomaster] SI-6773 Makes the SI-6150 changes binary compatible with 2.10