added optional groupId to uploadDeviceDataForUser and made it return err...

... when jellyfish returns a status code other that a 200 @jh-bate or @nicolashery ready for review.