Support arbitrary key/value source names in customer.io

Source names like `region:us-east-1.service:ec2.uid:123` will be sent to customer.io with a payload of `{region: "us-east-1", service: "ec2", uid: 123}`