AttributeSet::get(... AttributeWithIndex ...) is now private.

AttributeWithIndex is really going away in LLVM 3.3. This is a
horrible hack to keep everything compiling. Attribute handling
needs some rework.
Add ABI infrastructure for PPC64.

The generic ABI works well with PPC64 except for LLVM PR 14779.
(http://llvm.org/bugs/show_bug.cgi?id=14779)
The new ABI infrastucture is based on the UnknownTargetABI. The
PPC64 specific parts coming soon.
Fix struct literal rvalue change
Fix struct literal rvalue change
Replace SmallVector/vector with C array for type lists
Use AttrBuilder for LLVM >= 3.2.

Due to a misunderstanding of the new semantics of the Attribute(s) class,
this class was used in places where class AttrBuilder should be used.
Merge pull request #278 from redstar/maint

Small changes
Merge branch 'master' into merge-2.061-2
Replace AttributeWithIndex for LLVM 3.3.

The helper class AttribteWithIndex is gone in LLVM 3.3. Instead a
combination of AttrBuilder and AttributeSet must be used.
Merge pull request #279 from redstar/attr

Replace AttributeWithIndex for LLVM 3.3.
Merge branch 'master' into merge-2.061-2
Fix some compile warnings for LLVM 3.0
Fix a compile error with LLBM 3.3
Attribute holds no longer multiple values in LLVM 3.3.

The solution is to replace Attribute with AttrBuilder in IrFuncTyArg.
Then the argument attributes can be easily manipulated and transformed
into the final AttributeSet.
Merge branch 'master' into merge-2.061-2
Support for Windows x64 ABI.
Return static arrays like structs by struct-return if they cannot be rewritten as int.
Add NoAlias and NoCapture argument attributes.
Update setting argument attributes for LLVM >= 3.3