search-engine.js: refactor as opensearch.js, new api
This patch makes the api for defining opensearch webjumps more like other
apis in the program. Instead of having a two-step process of loading the
opensearch xml into an auxiliary data structure, then defining webjumps
from the contents of that structure, we now load and define in a single
step.
define_opensearch_webjump takes a name and a spec. The spec can either
be an nsIFile pointing directly to the opensearch xml file, or it can
be a string filename or relative path, to be resolved against one of the
paths in opensearch_load_paths.
resolves issue208