num: Slightly optimize bigint
num: Migrate `~[T]` to `std::vec_ng::Vec`
auto merge of #12924 : Florob/rust/bigint, r=alexcrichton

This is a minor optimization of the bignum module. The improvements mostly come from avoiding allocations and boundary checks. This also switches all of libnum to vec_ng::Vec.
De-@ Session usage.
De-@ ty::ctxt usage.
De-@ tyencode::ctxt and related parts of astencode.
De-@ liveness.
De-@ type checking contexts.
De-@ trans contexts.
De-@ reachable.
De-@ filesearch.
De-@ CStore uses.
De-@ ParseSess uses.
De-@ resolve_lifetime.
De-@ typeck::check::method.
De-@ gather_loans.
De-@ move maps and rework parts of trans.