Decimal support

Currently only converting to floats which may lose some precision.
Not recommended in 2.6 where float to string serialization is sub-optimal
Be more benevolent when dealing with hosts parameter

This was mostly inspired by work on haystack for backwards compatibility
Add in __repr__ to client to simplify debugging