Relax float param validation

If we can convert it to a decimal, we call it good enough.
This means that ints, and numbers as strs "123.245" can be
used.  This also gets around float precision loss.

Fixes aws/aws-cli#197

cc @garnaat @toastdriven