Convert number to double. Fixes #50.

I also changed the printfmt function to take %d for doubles. I'm not certain
that I'll keep this though, since I know that C uses %d for int. It's
consistent the idea that "the format char is the first letter of the class
name". i -> integer, d -> double, s -> string.

I remembered to update the documentation this time (I'd like to think I'm
getting better about remembering to do that :) ). The sanity test was updated,
and the cliexec one was too. This one was easier than string, because there
was less to change, but a bit harder in that there are valid uses of number
(ex: line number) that needed to be avoided.