Implement EvalDoubleVisitor
Add accept methods to Integer, Rational, Complex
Add visit() for Integer
Add a test for eval_double()
Fix a typo in Rational
Add better conversion from mpz_class to double
Implement Rational handling and test it
Implement handling of Add and test it
Implement Mul and Pow handling
Rearrange the methods

Make all methods of Visitor abstract.
Add exceptions and test it