Begin stripping down core::num

This implements a considerable portion of rust-lang/rfcs#369. Some interpretations had to be made in order to get this to work. The breaking changes are listed below:

[breaking-change]

TODO