Separated implementation into cpp file, but this requires explicit template instantiations.

commented out #include <ql/types.hpp> not required?

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>
Moved implementations to .cpp files - works around an issue when using CLI wrappers.

see: http://connect.microsoft.com/VisualStudio/feedback/details/336844/static-variable-in-native-method-causes-exception-c0020001-during-process-exit
Refactor #include <ql/settings.hpp> to .cpp not reqd in .hpp.

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>
Refactor #include <ql/patterns/visitor.hpp>

Replace #include <ostream> with forward declared <iosfwd>

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>
Only require singleton.hpp to resolve an issue with the destruction of static objects on exit, when using CLI wrappers.

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>