Implement BigInt and BigUint.
Move BigUint and BigDIgit to std::bigint.
Convert std::bigint to explicit self.
Impl Zero, One of BigInt, BigUint
Convert @[BigDigit] to ~[BigDigit]
test: Fix botched regex. rs=bustage
Merge remote-tracking branch 'gifnksm/bigint' into kind-names
Rename identifiers that still use 'alt' to use 'match'

This'll be less confusing for anyone who works on match in future.
adding bound checks for raw::memcpy and memmove
removing checks from vec::bytes::memcpy and memmove as are duplicated from raw::
Merge pull request #4388 from lkuper/alt-to-match

Rename identifiers that still use 'alt' to use 'match'
Remove unused bigint from runtime
Suppress error messages about function types whose result is ty_err

Ideally we would suppress error messages involving any types that
contain ty_err, but that's awkward to do right now.
Make `self` visible when typechecking nested functions

Necessary to allow supertrait methods to be called in default methods.

r=nikomatsakis
Remove ret_style and instead check whether fn return type is bot

cc #3681
arrange core::os::consts
Inject std when --test. #1127, #3241
Implement GLB algorithm. (Issue #2263)

r=brson
Ignore some failing bigint tests
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc