Add a limit to the output field

This is limited to 16MB so that inordinately long outputs aren’t stored in the database
Update schema after running migration
Support checking the MySQL max_allowed_packet for the output limit

This will be hit before the column limit is encountered, take the smaller of the two

Also move the output_limit to a class method as it doesn’t rely on any instance state
Add a validator for the output length
Add a rollback task
Add test for huge output builds ensuring that they’re saved

This tests the truncation behaviour