Python allows multiple inheritance, which we use in order to mix and
match test scenarios and actions.
Python performs method resolution as follows:
- checks if the method is defined in the current class.
- if not, check parents, left to right.
Since all tests have test_base as its left-most parent, all methods
are resolved in test_base, which is not the desired behaviour. This
affects optional_feature mixin in particular.
Change-Id: I19d3bdef85a12ef45b600aa4fc68afd390b96c9f