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.
Yeah, I understand. But I also prefer not to touch hundreds of lines of code. Given that the type passed in must be convertible to a std::vector, this should be pretty safe (and CScript itself is already excluded specifically).