#include <functional>

Otherwise MSVC won't find some std:: functions
Remove double default constructor declaration

MSVC gave a warning.
Forward-declaring "Constant" as struct instead of class

It actually is a struct. MSCV has linker issues if these are
inconsistent.
Removing extra ; and adding some missing newlines at eof
Evaluator::stringFromFunctionError(..) is static
Merge pull request #8 from aportale/master

Some compile fixes for MSVC and some warning fixes