Utility: moved TypeTraits.cpp static assertions to tests.

It's not desirable to compile whole file just to check for two things
(which won't break too often).
Utility: brand new CORRADE_HAS_TYPE() macro.

Superseeds previous unprefixed HasType() macro, has proper documentation
and can be used for much more things.
Utility: test that IsIterable works for more container types.

It doesn't, as many containers we don't provide `const_iterator`
typedef or don't have begin()/end() members.
Utility: make IsIterable type trait more general.

It now works for all types with either begin()/end() members or usable
with std::begin()/std::end(). Hooray for printing Containers::Array and
std::valarray with Debug. The tests now pass again.
Utility: doc++
Utility: fix build with GCC 4.6.

It parsed the operator<<() type as the following and then failed on
"sorry, unimplemented: mangling constructor". WAT.

    std::enable_if<({} && (!{})), Corrade::Utility::Debug>::type
Utility: fix build with libc++.

It needs the almost-f'in-unbearably-huge <iterator> header.
Utility: don't use deprecated API in NaClStreamBuffer.
Merge branch 'master' into compatibility

Conflicts:
	src/Utility/NaClStreamBuffer.cpp
	src/Utility/TypeTraits.h
GCC 4.5 compatibility: constexpr-related issues.

We need to use enum value instead of constexpr operator bool. Also there
is no std::begin().
GCC 4.5 compatibility: missing includes.
GCC 4.4 compatibility: no std::declval().