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.
Move some CScript methods to script/script.cpp