Lint non-FFI-safe enums (and temporarily deny them by default)

Conflicts:
	src/librustc/middle/lint.rs
fixup range assertion thing
fixup lint thing
Add #[repr(C)] and use it for rustllvm

Conflicts:
	src/librustc/middle/trans/adt.rs
	src/libsyntax/attr.rs
Exempt struct-like variants from being linted.

(Should this be handled in adt?  Maybe, but maybe we're thinking of the
lint criterion as a syntactic notion and the use of Univariant(*) as a
related-but-not-identical implementation issue.)