Implement Gateway, ReverseGateway & RemoteGateway.
Implement Gateway, ReverseGateway & RemoteGateway.

As well as some code improvements.

Change-Id: I75d764ad780d4aa7cc05d0a31efd0d1cd0e1d9ad
Reviewed-on: http://gerrit.aldebaran.lan:8080/2824
Tested-by: proullon <ffff9135679d397f48dd743107119b1f6fc32d3d@aldebaran-robotics.com>
Reviewed-by: cgestes <ddb78fe00abb42f91254c16a0860e38eb0781789@aldebaran-robotics.com>

vbarbaresi/libqi,aldebaran/libqi,bsautron/libqi,aldebaran/libqi-java,aldebaran/libqi,aldebaran/libqi,aldebaran/libqi-java,aldebaran/libqi-java