Declare BLooperListIterator in the right place.

Before, it tried to typedef it to a private struct, but outside of the
class.
Add BStackOrHeapArray.
Remove variable length arrays of non-PODs.

Variable length arrays of non-PODs are not part of the C++ standard, but
a GNU extension that never worked correctly. Instead, BStackOrHeap array
is used now, which makes sure that it's not too big for the stack, calls
all constructors and is valid C++.
glibc: Correctly create weak symbols.
glibc: Remove nested function.

Nested functions are a (again, broken) GNU extension which is not
supported by Clang. It has been replaced by a bunch of gotos and a
variable that works as a return address.
Fix sizeof on private, non static variable.
ALM: Move forward declaration of Constraint to the right namespace.
compress: Add missing return types and declarations.
netcat: Add missing declaration.