Purge use of "PRED and A or B" poor-mans-ternary

Since python2.6, python has a proper ternary construct "A if PRED else
B".  The older idiom "PRED and A or B" has a hidden trap - when A is
itself false, the result is (unexpectedly) B.

This change removes all cases of the older construct found using a
trivial git grep " and .* or " - except one case in oslo common
code (fixed in oslo upstream).

Change-Id: I24461f4328e188c8983ad574495e11e033ec5ba4
Merge "Purge use of "PRED and A or B" poor-mans-ternary"
Merge branch 'master' of https://github.com/openstack/quantum