libcore: Move the numeric operations out of Num. r=brson

Sadly I could not use trait inheritance due to a type parameter substitution
bug.
auto merge of #4910 : pcwalton/rust/num-simplification, r=pcwalton

Sadly I could not use trait inheritance due to a type parameter substitution
bug.

r? @brson