Refactor some ReimbursementTypeEngine code

No behavior change.
Extract a method to make it easier for subclasses to modify behavior by overriding just the "calculate_reimbursement_type" method.

If this gets thumbsup then I'll submit to spree upstream as well.