Enable double floats/improve ltype-deduction.

 * Add the Double type to the AST and allow for functions overloading on
   ints and doubles.
 * Factor out fname_mangle() for consistency in choosing functions while
   generating code and ltyping.
 * Implement commonType() to deduce what type to use in binary
   expressions like "+" and the branches in "if" statements.
 * Make List::ltype() aware of the argument types in function calls and
   name mangling.
 * Improve bin- and boolop to work on Doubles and Ints.
 * Extend the tests a little.
Progn: Fix ltype.

Don't allow declaring variables while ltype()ing.