added stubs for gcm
a better design of private components and a bit of apns implementation. implementation of the connection_pool
removed asio::work from push_service as it shouldn't be part of the library
error handling and apns implementation without feedback server