Initial support for ability to disable building of deprecated APIs.

CMake option `BUILD_DEPRECATED`, enabled by default, exposed as
`CORRADE_BUILD_DEPRECATED` to users both in CMake and C++ code.
Interconnect: Make connect() non-member function taking references.

 * Apparently this function got forgotten when switching pointer
   arguments to reference arguments. The new version takes references.
 * Having Emitter::connect() comes with serious issues:

    a. Trivial choice of enclosing class name when calling it, moreover
       Interconnect::Emitter::connect() is too verbose:

        class MyEmitter: public Interconnect::Emitter { ... };

        // are these two doing the same or not?
        MyEmitter::connect(...);
        Interconnect::Emitter::connect(...);

    b. It might be called on object, causing WTF moments -- why do I
       need to pass the same object twice?

        a.connect(&a, ...); // wat

 * There is no need to have std::enable_if, as we don't need to solve
   any ambiguous call conflicts. Reworked them into static_assert()
   which now also has an helpful message.
 * Also updated the documentation and examples, fixed a few bugs and
   added explicit Doxygen references.
Interconnect: move implementation lower in the file.
fixup connect
Interconnect: ability to connect signals to non-member functions.

Also supports connections to lambda functions.
fixup connect
examples: updated documentation for interconnect example.
Interconnect: initial StateMachine implementation.

Didn't know where else to put it, but as it relies on signals heavily,
this is probably best place.
Using ninja in development PKGBUILD.