Move repr hint extraction into ty

Conflicts:
	src/librustc/middle/trans/adt.rs
Fix the enum range overflow check for giving LLVM discriminant range hints.

Conflicts:
	src/librustc/middle/trans/adt.rs