GTM constructor

@class
@classdesc
Provides GTM functionality to a base BigIp object

@param {Object} bigIpCore               - Base BigIp object.
@param {Object} [options]               - Optional parameters.
@param {Object} [options.logger]        - Logger to use. Or, pass loggerOptions to get your own logger.
@param {Object} [options.loggerOptions] - Options for the logger.
See {@link module:logger.getLogger} for details.
function BigIpGtm(bigIpCore, options) {
    const logger = options ? options.logger : undefined;
    let loggerOptions = options ? options.loggerOptions : undefined;

    if (logger) {
        this.logger = logger;
        util.setLogger(logger);
    } else {
        loggerOptions = loggerOptions || { logLevel: 'none' };
        loggerOptions.module = module;
        this.logger = Logger.getLogger(loggerOptions);
        util.setLoggerOptions(loggerOptions);
    }

    this.core = bigIpCore;
    this.partition = 'Common';
}