This is an INPUT interface to get a list of items to be considered for filtering.
It consists of 3 nested lists:
1. A list of labelled item objects that can be filtered
2. For each item, a interface to a list of valid conditional tests
3. For each item, a interface to a list of test value objects.
There is also a call on the items that allow for users to type in a
value by hand and retrieve a new test value object. (see FilterItemInterface)
This call returns the 'label' or user displayable name
for this list of values. This might be the
word 'Item' to be generic or it could be customized to
be a value such as 'MDX Measure'.