Story 60641538: Don't rely on parent_instance for Audit tree nodes to be a program
Change `owner` to `contact` everywhere

* Includes a migration
Fix `owner_id` references in fulltext search
Add 'notes' field in all Business Objects
Remove `scope` and `organization` from Program
Add `status` to Business and Mapping objects, plus fixes

* Add `status` to Governance, Business and Mapping objects
* Add `Mapping` mixin for all join table classes
* Fix base class ordering in many cases (`Identifiable` must be last in
  the MRO)
* Broke `contact` column into `WithContact` mixin (was on
  BusinessObject)
* Made `Section`, `Response`, and `Audit` not inherit from
  `BusinessObject`
* Added factories for missing models (needed due to `status` field
  validation)
Fix old migration to avoid warnings

* Changed `type` keyword argument to `type_` to avoid warning during
  test migrations
Add `*_alembic_version` to ignored migration tables

* Alembic will now ignore these when autogenerating migrations
Fix spacing between classes in accordance with PEP-8
Add `Standard` as a type of `Directive`
Change `Audit#audit_firm` to OrgGroup foreign key
Formatting fixes
Add `Control#*_assessor` columns; remove `Control#type_id`

* Also update `WithContact#contact` relationship to specify foreign key,
  since now multiple relationships exist between Control and Person
Remove and rename `*#type_id` columns

* Remove `System#type`
* Remove `Document#type`
* Rename `Product#type` to `Product#kind`
Add `type` as a published field on all models

* `*#type` is always the name of the model/class
Add `reference_url` to most models
updating fields in all object types modals
Merge remote-tracking branch 'origin/develop' into feature/database-changes-fixed
Fixup for recent change
Add modal_content.mustache for Standard