Reorganize plugin base and util code to dodge circular imports and improve comprehensibility.

Now nothing is in the plugins/ folder except for actual plugins. "Utility" functions (which make up an awful category, equating to "other") are categorized as indexer-related or filter-related and shunted to appropriate top-level dxr modules accordingly.

Hoping that this will also untangle the import graph enough that we can start declaring clang's Plugin explicitly and not have to repeat ourselves every time we add a new clang filter.
Make clang Plugin instantiation explicit.

This eliminates repetition when registering clang filters.

Also...

* Move indexers from __init__ to a submodule for symmetry with filters.
* Rename "mapping" to "mappings". It wasn't taking effect, since it was spelled wrong. (Of course, now that doesn't matter, since we're registering it explicitly.)