Remove unused accessor
Pass the build object into the Tab

Since the Tab is written in the build process, the formula's build
object will have the correct args attached to it already, so we don't
need to reconstruct it.
abcm2ps: fix formatting
x265: use binwrite in test
Add without? to Tab
Use the tab in place of build during tests
Remove confusing implicit options handling

This code is supposed to allow

  depends_on "foo" => "with-bar"

to work when foo has only a "without-bar" option.

The options system was not designed to support this. Unfortunately, it
was bolted on anyway. The implementation is extremely difficult to
understand, and it only works for certain types of options, which is
confusing from a user's point of view. Luckily, no formulae in core or
the official taps rely on the behavior in order to function.

It is hindering progress in improving this code, so I am removing it.
drop support for defining options as a method

Conflicts:
	Library/Homebrew/formula.rb
move some behavior from BuildOptions into SoftwareSpec
remove mutation, we need to externalize this state
fix test setup to not mutate build instance
move management of options collection off of BuildOptions
remove args writer
delegate options to the active spec
hide the options data structure better
update callers
rm as_flags from BuildOptions
rm empty? from BuildOptions
BuildOptions is no longer Enumerable
rm the options reader