[INTERNAL] JSDoc Template: improve TypeParser
[INTERNAL] JSDoc Template: improve TypeParser

- JSDoc allows variant types in more places without wrapping them in
  parentheses:

  as type parameters of a generic type
    @param {Array<boolean|int>}
    @param {Object<string|int,any>}
    @param {Promise<object|object[]>}

  as type of structure fields
    @param {{field1: object|string, field2: boolean|int}}

  as type of function parameters (but not for the return type!)
    @param {function(string, object|int[], text):string}

  Note: for function parameters, JSDoc (or catharsis for that part),
        seems to support variant types only for all but the last
        parameter. Using variant types in the last parameter always
        leads to an invalid type expression error
        For simplicity, the TypeParser accepts variant types for all
        parameters, but this shouldn't matter as the TypeParser only
        sees types that JSDoc has parsed already.

- bug fix: don't accept function signatures where a comma is missing

- bug fix: don't accept generic types w/o type parameters

Change-Id: Ibe45877e662039060529c56d8d15b7d8450017b5

SAP/openui5,SAP/openui5,SAP/openui5,SAP/openui5