Adds module documentation to the package
Refactors the test suite
A list of different discount rates for each year can be used
Adds list argument length checking, raises a ValueError if incorrect