Unify and simplify CScript push methods

* Make CScript::operator<<(const std::vector<unsigned char>&) cover all push operations (including OP_0, OP_1..OP_16 and OP_1NEGATE), and make the push for numbers use that.
* Convert the uint256, uint160 and CPubKey into a single templated one using the vector push code.
* Get rid of the int64_t operator<<; better be explicit about what needs pushing, so change all number pushes to use CScriptNum (which, due to the generic vector push now also correctly uses OP_n).
* Get rid of some unused methods and constructors as a result.
That's not the point. It's an example of how a very subtle change could have lead to a fork because of a known consensus-critical dependency. Just because you don't know how to exploit it right now doesn't mean you can't.