Don't use magic numbers for ChangeTypes.
Start extracting data corrections into their own objects.

Changes to amount, facility_letter_date, initial_draw_date and initial_draw_amount have been removed and are no longer allowed.
Separate class for correcting demanded amount and interest.
Data correction breadcrumbs.
Match the Loan's attribute name.
Make #min_months a little more readable.
Unused.
Move changing a loan's business name to the data corrections screen.
Combine extending/decreasing a loan's repayment duration into a single loan change class.
Modify loan changes screen to work with new structure.
Separate class for lump sum repayments.
Initialise a LoanChangePresenter with a loan as it always requires one and will build various objects from it.
Add premium regeneration fields to the loan change form and automatically generate a new schedule on submit.
Ensure repayment_duration is kept within valid constraints.
Add loan change presenter for reprofiling draws.
Move satisfying lender demand state to a separate screen and don't allow changes to be made to lender_demand loans.
Cleanup and get all specs passing.
Add separate screen for recording an agreed draw.
No need to include "Presenter" in the name.
Fix lump sum repayment validation.