code: function isLoanPastDue(loan, cb) {
      var d = Q.defer();
      if (!loan && !loan.transactions) return d.reject('loan object not provided');
  
      loan.pastDue = loan.pastDueAmount > 0;
      console.log('isLoanPastDue');
      d.resolve(loan);
      if (cb) return cb(loan);
      return d.promise;
    }
docs: isLoanPastDue
  @param loan
  - amortizationTable - an array of transactions
  - transactions - a list of payment transactions
  - dateLastPaymentShouldHaveBeenMade - obvious
  - dateLastPaymentWasReceived - obvious
  @returns {promise|Q.promise}
  compares amount of payments that have been received against those that
  should have been received.