Add SearchProvider and corresponding domain object.
Simplify the push interface.

The adding of push event listeners has now been merged with the
subscribing to a channel. See documentation (JavaDoc) for details.
Expose the push infrastructure through the Podio facade.
Clean up the setup flow of the Podio facade.

Calling setup a second time should reset the internal state of
the HTTP request infrastructure. Previously this was done in a
very memory intensive way. We now rather try to reuse any
previously instantiated request queues and rather clean them
up over just releasing our references to them and recreate them
again.

This fix affects mobile bug: #3094
Fix unsubscribe bug.
Fix push connect/handshake bug.
Refactor and clean up in-app push infrastructure.
Yeah, "Parcelable" was a bad idea...

It turns out the Android Parcelable infrastructure is very efficient
on a reasonably sized "Parcel". Since our domain objects grow
quite rapidly in size, extensive experiments have revealed that
the Android Parcelable serialization isn't the best choice for this
kind of operation. One should instad go for Json serialization and
live with the memory footprint.
Add support for fetching user status.
Simplify the push clients execution flow.
Connect push event type enum with corresponding domain object.
Let FayeClient parse and deliver any events.
Rename FayeClient > FayePushClient.