Change @Mock qualifier element name for clarity

Change to qualifier element to fieldName as a more directly obvious and
explicit name for the role of that element.
Refactor injection for deterministic behaviour

Refactor injection routine to ensure deterministic behaviour and
rejection of ambiguous input. Mocks with fieldname qualifiers are
injected first. Duplicate qualifiers and unsatisfied qualifiers are
errors. Unqualified mocks are not injected where a qualified mock was
assigned.