extra: remove some warnings
std: Change num::{To,From}{Int,Uint} to return options.
std: Add {To,From}Primitive to convert to/from numeric primitives

cc #4819
syntax: Add #[deriving(FromPrimitive)] syntax extension

Right now this only works for c-style enums.