function Queue(customConfig){
	// Allow the class to be called as a function, returning an instance
	if(!(this instanceof Queue)){
        return new Queue(customConfig);
	}
	// Set the default configuration
	this.config = util.merge({}, defaultConfig);
	if(customConfig && (typeof customConfig === 'object')){
		this.setConfig(customConfig);
	}
	this._stack = [];
	this._firstCall = 0;
	this._callCount = 0;
}
Object constructor
@param {object} [customConfig] - Optional custom configuration object
@returns {Queue}