Correct `dependent: :destroy` for CIPs

www.agileplannerapp.com/boards/173808/cards/8853

there's a `dependent: destroy` on organisations to destroy associated
corporate information pages when the organisation is deleted. in spite
of that few orphaned CIPs exist: 336462, 336498, 363483.

there are changes in 2 places to fix this issue:

1. `dependent: :destroy` on `corporate_information_pages` association
   only destroys the record in the join table and not the corporate
   information page edition. so the fix is to have an explicit
   `before_destroy` to clean corporate information editions
   and documents.

2. callbacks are invoked in the order in which they're declared.
   if the `before_destroy` to destroy corporate information gets
   registered before the `:edition_organisation, dependent: :destroy`
   this will work. else, when the callback tries to destroy related
   corporate information pages it won't be able to fetch the related
   corporate information editions because the linking record is gone.
Merge pull request #1897 from alphagov/remove-orphaned-corporate-information-pages

Correct `dependent: :destroy` for CIPs