libstd: impl Integer for BigUint/BigInt.

Also remove abs() method from the non-trait impl for BigInt/BigUint.
That method is provided in the Signed trait.
libstd: inlining almost every methods in bigint module.
rand: Fix infinite recursion

`self` has type `&@Rand`, so `*self` will be of type `@Rand` which causes
this same impl to be called again.
auto merge of #6097 : Blei/rust/fix-rand, r=pnkfelix

`self` has type `&@Rand`, so `*self` will be of type `@Rand` which causes
this same impl to be called again.

Fixes #6061
auto merge of #6092 : gifnksm/rust/impl-integer-bigint, r=graydon

This is a follow-up commit for #6041 (and depending on #6048).
Also adding `#[inline(always)]` for almost every methods in `std::bigint`.