Fix license attribute on crates
Change bare functions so that they are represented by a single pointer.

The basic idea is that we add a new kind of adjustment, AutoAddEnv, that pads
an extern fn into a closure by adding the extra NULL word. Then there are a few
misc changes in trans to get the LLVM types to match up.

Fixes #4808.
core: Address XXX, make static constants for strings used when stringifying floats
Merge remote branch 'sevrak/issue-5164' into incoming
librustc: "APL2" -> "ASL2". rs=license-fix
Merge remote branch 'nmatsakis/issue-4808-representation-of-extern-fn' into incoming
Merge pull request #5178 from catamorphism/constant-buffers

core: Address XXX, make static constants for strings used when stringify...