adds a method that clients can use to set the user opt out
adds a method that sends "ping" events when a user changes their opt out preferences.
daily stats checks to see if a user has opted out, and doesn't send the stats in that case.
unit tests
Future / related work:
should we even be storing stats for users who have opted out? If we store a bunch of stats, and they opt in in the future, are we sending a bunch of old stats?
actually implementing retries if sending stats fails.
This pr:
Future / related work: