Make LLVM/Clang aware of different mode sizes for AVR, and fix alignment and missing integer types in AVR's target layout.

The default implementation in LLVM sets SIMode to int, which isn't correct for AVR, as ints are only 16 bits wide.
Hack LLVM's code to special case for AVR. Also fix wrong alignment for pointers and integers, and add missing float types in the layout string.
Merge branch 'master' of github.com:saaadhu/naggy