Invoice remainder

Added a property cache to remainder, so request is only called once
when accessed multiple times.

Added method for checking if the invoice is past due and has and
any outstanding debt.
Are the `mjd` calls necessary? Can't we simply subtract the two dates?