Fix a buffer overrun on Linux/PPC64.

The buffer in realToMangleBuffer() is too small for longdouble values.
It produces strings like 0X1.599999999999999999999999998P+1 or
0X1.999999999999999999999999998P-4 which have a length of 34. This
results in an ICE e.g. in the unit test of std.range.
split libelf.c and libmach.c
Merge pull request #1792 from redstar/overrun

Fix a buffer overrun on Linux/PPC64.
Merge pull request #1791 from WalterBright/scan

Original merge commit was:
https://github.com/D-Programming-Language/dmd/commit/fb27e49d5a48

But it was accidentally lost. This is an alternative commit for that.
Remove default MODEL from posix.mak

DMD compiles and work fine in 64 bit, so it makes no sense to set the
default MODEL to 32 instead of just let the compiler pick the native
model.
Fix error propagation for ! and BoolExp

If !x is an error, don't change it to a boolean.
Merge pull request #1789 from donc/bool__error

Fix error propagation for ! and BoolExp
Allow string literals to be cast to mutable

It is legal in constfolding, and it's already impossible
to modify a string literal in CTFE.
CTFE: Fix comparison of string enums

String enum compares was failing to compile because it wasn't
checking the base type, so wasn't recognizing it as a string.
Merge pull request #1782 from leandro-lucarella-sociomantic/no-default-model

[trivial] Remove default MODEL from posix.mak
CTFE: Don't declare tuples wrappers as variables

Only the members of the tuples are variables. The tuple itself
doesn't need storage.
CTFE: Don't declare local enums as variables

They don't go on the stack (they already get a slot in the
global constants table when they get used)
Merge pull request #1807 from donc/ctfeEnumsAintVars

CTFE: Enums and tuple wrappers are not variables
Merge pull request #1804 from donc/string_enum

Fix treatment of string enums in CTFE
Use GC to test that delegate is not heap allocated.
Merge pull request #1809 from ibuclaw/test7290

Use the GC to determine whether delegate was stack or heap allocated in test7290.
[Refactoring] Integrate code for making nested aggregate

- Move StructDeclaration::makeNested to AggregateDeclaration
- Change AggregateDeclaration::isnested to Dsymbol*
add apply() for statements
Merge pull request #1814 from WalterBright/addsapply

add apply() for statements
Merge pull request #1813 from 9rnsr/refactor_nested

[Refactoring] Integrate code for making nested aggregate