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.
Remove unused methods and make #min_months a little more readable.
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.
Basic copy.