Setting a timeout for gcm netwro call. 

Currently there is no timeout set for gcm call. I have added one constant and required function for timeout. 

Why we require this?
I have got one case where call to gcm server hanged and never come out.