PP constraint

additional to #1237, targeted at 1.7.x
@rhattersley suggested there may be a logic problem here..
I think I agree: If there are **any** non-STASH-type constraints, then **no** pre-filtering can be performed, because the logic of the list of load-constraints is "or".
For example, ```iris.load(data, (AttributeConstraint(STASH=123), 'air_temperature'))``` should deliver a list of everything with stash==123, *and* a separate list of all with name=='air_temperature', so we can't skip the fields with stash!=123.
It also looks like we need a few more testcases to nail all this down (see comments to lib/iris/tests/unit/fileformats/pp/test__convert_constraints.py)

That's