Make enum discriminants i64 instead of the host int.
Add parser for `#[repr(...)]`; nothing uses it yet.

FIXME: document it.
Missing bits of a later change
Lots of stuff that doesn't work yet
whitespace
Export attributes on enums
Move repr hint extraction into ty
Add some more missing annotations
Lint non-FFI-safe enums (and temporarily deny them by default)
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.)
Add #[repr(C)] and use it for rustllvm
Fix tests that fail under -D ctypes
Fix the enum range overflow check for giving LLVM discriminant range hints.
Annotate transmuted enum in enum_set tests