issue #20040: foundation to sales order

Working db code, orms and models for Sales Order. This should be pulled in even though it is not the completion of the incident (e.g. no views).

Massive rearchitecture to the quote model file that should leave the functionality of quote unchanged but will support sales order with shared code.

CRUD unit tests for both sales order and quote working in the test/mocha/tests/sales_order.js file