Add dependency management for features

...sort of.

Basically, this means you can register hooks for your features that
will determine (via a return value) whether the feature should be
allowed on the wiki or not. For example:

* If a feature requires UploadWizard to be present on the wiki, it
  should be as simple as determining whether UploadWizard is installed
  and if not returning false.

* If a particular wiki wants to disable a feature, they can submit a
  patch to mark it as dependent (controversial features should have this
  by default), then write a short hook in LocalSettings that returns
  false no matter what.

Unit tests and 2 AA batteries are included.

Change-Id: Ifbf45b2acd240c961816723e0e34bd4213851b60