Issue #18716 Add REST API Discovery Doc and List generator functions to db.

### Get a Discovery List:

    SELECT xt.js_init();

    select xt.dispatch($${"username": "admin",
            "requestType":"dispatch",
            "className": "XT.Discovery",
            "functionName":"getList",
            "isJSON": true,
            "parameters": [null, "https://mobile.xtuple.com/"]
    }$$);

### Get a Discovery Document for Contact. Use null instead to get all.

    SELECT xt.js_init();

    select xt.dispatch($${"username": "admin",
            "requestType":"dispatch",
            "className": "XT.Discovery",
            "functionName":"getDiscovery",
            "isJSON": true,
            "parameters": ["Contact", "https://mobile.xtuple.com/"]
    }$$);


### Get a Discovery Document Resources section for Contact. Use null instead to get all.

    SELECT xt.js_init();

    select xt.dispatch($${"username": "admin",
            "requestType":"dispatch",
            "className": "XT.Discovery",
            "functionName":"getResources",
            "isJSON": true,
            "parameters": ["Contact", "https://mobile.xtuple.com/"]
    }$$);


### Get a Discovery Document Auth section for Contact. Use null instead to get all.

    SELECT xt.js_init();

    select xt.dispatch($${"username": "admin",
            "requestType":"dispatch",
            "className": "XT.Discovery",
            "functionName":"getAuth",
            "isJSON": true,
            "parameters": ["Contact", "https://mobile.xtuple.com/"]
    }$$);

### Get a JSON-Schema and all $ref children for an ORM model.

SELECT xt.js_init();

    select xt.dispatch($${"username": "admin",
            "requestType":"dispatch",
            "className": "XT.Discovery",
            "functionName":"getORMSchemas",
            "isJSON": true,
            "parameters": [[{"orm_namespace": "XM", "orm_type":"Item"}], null]
    }$$);