Use separate collection for requirement deps
Move dependency expansion logic up one level
Rename filter_deps to expand_dependencies
Compute recursive deps for default_formula deps
Ensure option names are consistent for default formula requirements
Expand requirements of default deps added by other requirements

Dependencies built from requirements with a default formula may
themselves have requirements, and these requirements may have default
formulae, which may have more requirements, etc., so we have to keep
expanding until this isn't the case.

Fixes #25025.
Fixes #25037.
cairo: don't allow opting-out of glib dep

Lots of stuff in Homebrew needs this, probably more than we are aware
of, and the vast majority of people installing cairo will have glib
anyway.
Use symbol form of freetype dep where appropriate
Use accessors to silence uninitalized ivar warnings
keg_only_reason and cc_failures are not DSL methods
Silence more warnings
Extract constants for checkums in tests
pdf2svg: fix poppler dep
versions: delete unused method
bottle: clean up after interrupts
bottle: re-raise interrupt after cleanup
Implement hash equality for Version
versions: restore original constant

Before:

  f1 = Formula.factory('tree')
  f1.versions
  f2 = Formula.factory('tree')
  f1.class == f2.class # => false

After:

  f1 = Formula.factory('tree')
  f1.versions
  f2 = Formula.factory('tree')
  f1.class == f2.class # => true
discount 2.1.7
fuzzy-find 0.6.0

Closes #25091.

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