PPCDAGToDAGISel::isRunOfOnes should return false on zero

This fixes a bug (found by csmith) at -O0 where we attempt to create a RLWIMI
with an out-of-range operand. Most uses of the isRunOfOnes function are guarded
by a condition that the value is not zero. This was not true in two places, and
in both places a zero input would result in an out-of-rage MB value (= 32).

To fix this, isRunOfOnes returns false on a zero input (and I've remove one
now-redundant guard).
Bug fix by Jonathan Neuschäfer: "Without this patch
NotExpr::computeHash() will have a local variable with the name
"hashValue" and assign the newly computed hash to that instead of the
member variable with the same name that should be set by the
computeHash method of every Expr subclass."