add a message entity and use it in the client

How do you manage the possible null value here ? I think you may have something like: 
```
key:8|
```

Same with the ```sampleRate```. As you cast to float, you may have
```
key:8||@0.0
```
no ?

I do not remember if this is possible to pass these sort of values to statsd.