Sets the status {@link #text} and/or {@link #iconCls}. Also supports automatically clearing the
status that was set after a specified interval.

Example usage:

// Simple call to update the text
statusBar.setStatus('New status');

// Set the status and icon, auto-clearing with default options:
statusBar.setStatus({
text: 'New status',
iconCls: 'x-status-custom',
clear: true
});

// Auto-clear with custom options:
statusBar.setStatus({
text: 'New status',
iconCls: 'x-status-custom',
clear: {
wait: 8000,
anim: false,
useDefaults: false
}
});

@param {Object/String} config A config object specifying what status to set, or a string assumed
to be the status text (and all other options are defaulted as explained below). A config
object containing any or all of the following properties can be passed:

@param {String} config.text The status text to display.  If not specified, any current
status text will remain unchanged.

@param {String} config.iconCls The CSS class used to customize the status icon (see
{@link #iconCls} for details). If not specified, any current iconCls will remain unchanged.

@param {Boolean/Number/Object} config.clear Allows you to set an internal callback that will
automatically clear the status text and iconCls after a specified amount of time has passed. If clear is not
specified, the new status will not be auto-cleared and will stay until updated again or cleared using
{@link #clearStatus}. If `true` is passed, the status will be cleared using {@link #autoClear},
{@link #defaultText} and {@link #defaultIconCls} via a fade out animation. If a numeric value is passed,
it will be used as the callback interval (in milliseconds), overriding the {@link #autoClear} value.
All other options will be defaulted as with the boolean option.  To customize any other options,
you can pass an object in the format:

@param {Number} config.clear.wait The number of milliseconds to wait before clearing
(defaults to {@link #autoClear}).
@param {Boolean} config.clear.anim False to clear the status immediately once the callback
executes (defaults to true which fades the status out).
@param {Boolean} config.clear.useDefaults False to completely clear the status text and iconCls
(defaults to true which uses {@link #defaultText} and {@link #defaultIconCls}).

@return {Ext.ux.statusbar.StatusBar} this
function(o) {
        var me = this;

        o = o || {};
        Ext.suspendLayouts();
        if (Ext.isString(o)) {
            o = {text:o};
        }
        if (o.text !== undefined) {
            me.setText(o.text);
        }
        if (o.iconCls !== undefined) {
            me.setIcon(o.iconCls);
        }

        if (o.clear) {
            var c = o.clear,
                wait = me.autoClear,
                defaults = {useDefaults: true, anim: true};

            if (Ext.isObject(c)) {
                c = Ext.applyIf(c, defaults);
                if (c.wait) {
                    wait = c.wait;
                }
            } else if (Ext.isNumber(c)) {
                wait = c;
                c = defaults;
            } else if (Ext.isBoolean(c)) {
                c = defaults;
            }

            c.threadId = this.activeThreadId;
            Ext.defer(me.clearStatus, wait, me, [c]);
        }
        Ext.resumeLayouts(true);
        return me;
    }