Add __lt__ methods for Python 3 compatibility to date.i and money.i.

Python 3 no longer supports __cmp__ methods and requires __lt__ methods
for comparison.  For backward compatibility with Python 2, previously
implemented __cmp__ methods in the .i files are not removed.
Remove leading zeros from integer literals.

Python 3 raises syntax errors for leading zeros in integer literal while
Python 2 interprets them as octal numbers.  Neither is a desired
behavior.
Port Python 2-specific syntax into Python 3-compatible syntax.

Note that the resulting code is intended to be compatible with both
Python 2 and 3.
Use Python 3-compatible syntax for print
Avoid using module function removed in Python 3
Remove unused imports and variables
Check major version to select import syntax.

This makes the module compatible with older Python versions.
Merge pull request #38.

Python 3 compatibility (thanks to Minjae David Kim).
Added missing break statements.

Thanks to Andrey Karpov for the heads-up.
Break a circular reference in test cases.
clarify text
Change date format.
Merge pull request #39.
Added missing error reporting to test cases.

The error was simply output as a test message.
Added 'CLI-safe' versions of singleton.hpp and currency classes to new folder CLI.  These files are intended to replace the existing QuantLib where CLI wrappers are being used and avoids issues associated with static variables and CLR shutdown.  Please see the ReadMe file in the CLI folder for further details.

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>
Added additional test case for Thirty360 daycounter (BondBasis and EurobondBasis).

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>
Corrected flag usage in test-suite/bin/runtest.bat.

Signed-off-by: Simon Shakeshaft <simon.shakeshaft@estrategy-solutions.com>
check if forward + displacement is positive instead of the forward alone
allow for negative strikes (down to -displacement)
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>