MIFOSX-365: Simplify 'Data Tables' functionality

Added a new type (`"type": "Text"`), which optionally accepts the `"length"` parameter.

Sample usage:
```
POST datatables

Request Body:
{
    "datatableName": "Additional Client Details",
    "apptableName": "m_client",
    "multiRow": true, //optional, defaults to false
    "columns": [
        {
            "name": "Question",
            "type": "Text",
            "length": 100 // optional for type "Text", required for type "String", error otherwise
        },
        {
            "name": "Some Decimal",
            "type": "Decimal"
        },
        {
            "name": "Birth Date",
            "type": "Date"
        }
    ]
}

PUT datatables/Additional Client Details

Request Body:
{
    "apptableName": "m_client", // optional, registers the data table anew
    "changeColumns": [
        {
            "name": "Question",
            "newName": "Answer",
            "type": "String",
            "length": 100,
            "mandatory": true
        }
    ],
    "addColumns": [
        {
            "name": "Some Number",
            "type": "Number",
            "mandatory": true
        },
        {
            "name": "Some Number 2",
            "type": "Number",
            "mandatory": true
        }
    ],
    "dropColumns": [
        {
            "name": "Birth Date"
        }
    ]
}

DELETE datatables/Additional Client Details

Request Body: none
```