GCC 4.6 compatibility: no template aliases.
GCC 4.5 compatibility: nullptr-related issues.
GCC 4.5 compatibility: no range-based for.
GCC 4.5 compatibility: initializer issues.
GCC 4.4 compatibility: std::reference_wrapper-related issues.
Trade: be more explicit.
Merge branch 'master' into compatibility