Allow optional data params on GCM messages; Send single message as Json;

Allow optional data params on GCM messages so Android app sees the optional data in the Bundle.
Also send single messages as json since it's slight safer as far as putting unknown types in the data dict. Another benefit is the code reuse.