Make options available on the spec objects
Hide the options data structure better
drop support for defining options as a method

Conflicts:
	Library/Homebrew/formula.rb
move management of options collection off of BuildOptions
delegate options to the active spec
update callers
remove mutation, we need to externalize this state
remove args writer
rm as_flags from BuildOptions
rm empty? from BuildOptions
BuildOptions is no longer Enumerable
rm the options reader
BuildOptions is now immutable so no need to deep dup