Rename method, make another one private
Improve buffer

Keep them in another list until the mobile device collects them
Indroduce FutureGCM for error handling
Minor refactoring of AndroidForwarderRPC
Merge branch 'master' into error-handling
Pending requests should be thread-safe

Buffer could trigger the listener at the same time as the mobile device
retrieves the current buffer.
Add timeout for pending requests
Add test for timeout
Make MessageBuffer generic (to reuse it)
Add RelayConfig for more options. Simplify usability

PeerNAT#startRelay(...) has been slightly extended, such that the GCM
credentials, RelayType, etc. don't need to be provided at peer creation,
but at connection to the relay. This follows more of not providing the
objects before they are needed.
GCM send retires is sent by the mobile device
DistributedRelay handles GCM messages

preparation for buffering at mobile device + simplification when using
GCM.
Minor refactoring: use class variables
Add GCM buffer (incl. test)
Unused imports
Cleanup unused code and small refactoring