Generalize IndexSamplingJobQueue

- fix pollAll semantics to return values wrt insertion order
Args: Make it possible to distinguish options from flags to make parsing more robust

With this change, parsing flags such as `-recovery` will never consume any consecutive symbols
in the list of arguments, such as symbols meant to be orphaned arguments.
Consistency checker fails when recovery needed but '-recovery=false' specified
After transactions were applied in recovery NeoStore is asked to rebuild id generators
Merge pull request #3517 from davidegrohmann/2.2-sampling-controller-ref

Generalize IndexSamplingJobQueue
Merge pull request #3515 from lutovich/2.2-consistency-check-recovery-by-default

Fixed orphan arguments handling in Args, recovery procedure in CC and NeoStore
Setting up work on BottomUpQueryGraphCardinalityModel
Move TokenSpec into it's own file and replace use of implicits with methods for label, pk, and rel type symbolic names
First draft of TripletCardinalityEstimator
Introduce TripletConverter
Rename bottomUp* to triplet* qg cardinality model
Refactor out separate concerns
Factor out OptionalQueryGraphCardinalityModel
Support disconnected pattern nodes
Added NodeCardinalityEstimatorTest
Added NodeCardinalityEstimatorTest
WIP
Wipity Wip
Wipity Wipity Wip