function addQuickOpenPlugin(pluginDef) {
        plugins.push(new QuickOpenPlugin(
            pluginDef.name,
            pluginDef.fileTypes,
            pluginDef.done,
            pluginDef.search,
            pluginDef.match,
            pluginDef.itemFocus,
            pluginDef.itemSelect,
            pluginDef.resultsFormatter
        ));
    }
Creates and registers a new QuickOpenPlugin

@param { name: string, 
         fileTypes:Array.<string>} plugin,
         done: function(),
         search: function(string):Array.<string>,
         match: function(string):boolean,
         itemFocus: functon(HTMLLIElement),
         itemSelect: functon(HTMLLIElement),
         resultsFormatter: ?Functon(string, string):string }

@returns {QuickOpenPlugin} plugin

Parameter Documentation:

name - plug-in name
filetypes - file types array. Example: ["js", "css", "txt"]. An empty array
     indicates all file types.
done - called when quick open is complete. Plug-in should clear its internal state.
search - takes a query string and returns an array of strings that match the query.
match - takes a query string and returns true if this plug-in wants to provide
     results for this query.
itemFocus - performs an action when a result has focus. 
     The focused HTMLLIElement is passed as an argument.
itemSelect - performs an action when a result is chosen.
     The selected HTMLLIElement is passed as an argument.
resultFormatter - takes a query string and an item string and returns 
     a <LI> item to insert into the displayed search results. If null, default is provided.