Fixing encoding of decimals ending in .0 or 0.0

Found an error where storing a BigDecimal ending in .0 or 00.0 would not store/retrieve correctly.
Traced this to the append_decimal method of CqlByteBuffer

Example: 
Encoding a BigDecimal of 1042342234234.0 would result in a decoded decimal of -57169393542.0
Encoding a BigDecimal of 12000.0 was unable to be decoded
If there's anything you can do here that avoids the string literals that would be good. String literals are allocated on each call, and too many of them in a hot path like the frame encoding can generate a lot of garbage (it obviously depends on the application, but this code could be called thousands of times per second).

Look at how some of the other methods in this class use constants instead of literal strings when doing things like the above.