Create proxy classes for "partial" X11 dependencies

When a formula's dependency tree contains more than one X11 dependency,
they are de-duplicated by comparing the min_version attribute. However,
this can result in broken dependency trees if one of the X11Dependency
objects was actually specified as e.g. `:libpng`.

In practice, this only matters when one or more of the dependencies has
additional metadata that makes it distinct from the rest, i.e. an
:optional or :recommended tag.

To combat this, make these special, "partial" X11 dependencies instances
of different classes so that they are not de-duped.

It will still be necessary, at the time when requirements are expanded
by the installer, to de-duplicate any remaining X11 dependencies after
applying the optional/recommended filters in order to avoid duplicated
modifications to the environment (as ENV.x11 is not idempotent).

c.f. #17369.
Proper recursive expansion of requirements with filtering

Expand requirements recursively while applying the same optional? and
recommended? filters that dependencies are run through. Options
generated by requirements are now checked against the correct list of
requirements, eliminating the temporary "best guess" logic in the
installer.
Update documentation for Dependency.expand
couchdb-lucene: update generated ini file

Fixes #17452.
Closes #17471.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
node: fix test for external npm

Closes #15315.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
autotrace: use recommended dep
gd: use optional deps
git: use optional dep
opencv: update optional deps
swftools: use optional deps
leptonica: use optional deps
libmatio: use optional dep
ekg2: use optional dep
geoserver 2.2.4

Closes #17477.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
rethinkdb: fix dependencies, simplify build options and add head

Closes #17478.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Remove oorexx.

Newer versions don't compile clean on OS X.
Since I added this originally on a lark, removing. Will accept pull requests
to re-add newer versions.

Closes #17397.
automysqlbackup 3.0-rc6

Closes #17319.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
build: accept X11 proxies as X11 deps
check 0.9.9

Closes #17482.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
qt5: 5.0.1