Guard against ArrayIndexOutOfBoundsException

Google Analytics is reporting an ArrayIndexOutOfBoundsException
in Race.getInstance(). Add range checks to avoid crash, but it
is unclear why an invalid id is being passed in the first place.
Adding protection to RaceActivity in case someone is manually
sending the intent to start the activity with an invalid id, but
true root cause is unclear. This patch likely just moves the crash
closer to the actual error.

Signed-off-by: Greg Meiste <greg.meiste@gmail.com>
Serialize GCM registration requests

The PTW server had some issues when multiple registration
requests came from the same device at the same time. This should
be fixed on the server side now, but adding extra protection on
app side as well.

Signed-off-by: Greg Meiste <greg.meiste@gmail.com>
Release version 3.3.1

Signed-off-by: Greg Meiste <greg.meiste@gmail.com>