Start to implement double support.

This is still a work in progress. Right now things do not work right.
For example this rule causes a problem:

rule test {
    condition:
        tests.double_sum(0.1, 1.2) >= 0.3
}

In particular, when the result of the function is pushed onto the stack
it is casted to an int64_t, which effectively truncates it.