flips without pubsubs

This PR introduces the following changes
* Flips no longer use pubsubs, but are written in the database. This makes it easier to synchronize flips in intermittent wireless. Furthermore, these flips are encrypted using basic RSA encryption.
* The gateway hub interface no longer blocks listening on a channel.
* Basic RSA encryption/decryption in utils
* Serialization has been switched from json to CPickle, to remove any unicode to string conversion problems. This makes entries in redis slightly less readable.
* There is now an initial lag while flipping, dependent on the watcher thread time period.

Tested using the following script:
```
rocon_launch rocon_gateway_tests singlehub.concert
```