TestSuite: revert multi-template support in CORRADE_COMPARE_WITH().

We don't need anything like that, as we can wrap it in parentheses:

    CORRADE_COMPARE_WITH(a, b, (Comparator<T, U>{}));

Partially reverts commit 213f00680829d24e42b7ac7f00bea54d1eca721e.
Containers: added Array::release().
Containers: properly verify all possible Array to pointer conversions.

The tests currently fails for const values, will be fixed in the
following commit.
Containers: disallow conversion of const Array&& to pointer.

The test now passes again.
PluginManager: use "" for inter-project includes.
Utility: removed unused pow2() and log2() functions.

pow2() is a joke.
Utility: moved CORRADE_AUTOMATIC_* to new Macros.h file.

I need to get rid of that utilities.h file.
Utility: added CORRADE_DEPRECATED() macro.
Revert "Utility: fix MSVC warning about out-of-range value."

This now emits warning on GCC. Reverting until MSVC makes up its mind.

This reverts commit 23757430ca742830003d98d0ebb7794d5050aac6.
Interconnect: mark deprecated function as deprecated.
Utility: doc++
Utility: removed boolean trap from String::split(), added String::join().

Also tested and fixed some corner cases. The old split() function is
marked as deprecated and will be removed in future release.
Utility: doc++
Utility: added String::fromArray() convenience function.

The main purpose is to not crash when nullptr is passed.
Utility: added Directory::read() convenience function.
Utility: add missing header.
Utility: doc++
Utility: added Directory::write() convenience function.
Utility: test also that nothing is lost in Directory::read/write() after 0.
Containers: added Array[Reference]::data().

Sometimes you need to explicitly access the data and the following is
too inconvenient:

    Containers::ArrayReference<const char> a;
    const char* data = static_cast<const char*>(a);