Tabdrome: URL Extraction for Bugzilla

Tabs arranged by breadcrumbs synthesized from bugzilla.mozilla.org URLs.

Bugzilla was perhaps a poor test choice for this because its URLs don't include enough useful information, but this demonstrates breadcrumbs synthesized from pattern matching and extraction of URLs using a new "url-extraction" content digger.

More significantly, the digger infrastructure has been refactored to support multiple content digger engines. The constraint mechanism has been enhanced so that content digger specs can explicitly define their appropriate constraints. Additionally, content digger specs can define that their output should be cached and how to derive an appropriate cache key. This allows the content-extracting developer.mozilla.org digger spec (really, the RDFa breadcrumb spec) to cache its results in IndexedDB so that the tabs can be properly arranged even if they are lazy-loading tabs that have not actually been opened since Firefox last restarted its session.