Most statement supports have a constant validator and we end up
duplicating things. Furthermore we are ending up with megamorphic
dispatch which could easily be squashed into a simple field read.
AbstractStatementSupport now requires an explicit SubstatementValidator,
which it stores in a field, thus reducing the number of
StatementSupport.substatementValidator() instances.
Change-Id: I4d7f6247403ee64b65ddcd81ac91a5e8eef20539
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>