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.
Yep! Well, maybe, probably not. I think this may only matter in the case of a valid signature, so you'd need a valid signature that is representable by a non-push opcode.