Remove instance-level stuff on Binary.rb since I moved it to "class" method
Clean up InterpretFlags

* Remove method_missing
* Access to attributes via attr_attribute
* Access to predicates via attr_predicate
* #errors is no longer special
* #timeout is no longer special
* Remove #fetch, #[], and #merge (no longer thinking of this obj as a hash)
* provided_filename_dne is always true or false
* #inspect is pretty so-as to be helpful
Organize InterpretFlags#initialize so its easier to follow
Remove InterpretFlags#print_errors?

It was too stateful which was causing it to need to be treated differently,
its easy enough for bin to say .errors.any?
ParseArgs does not mutate the input array
ParseArgs can deal with multiple shortflgs (e.g. -abc => -a -b -c)

Though, realistically, this won't be used at present,
because all shortflags either expect arguments,
or are not compatible
Internal var renaming: ParseArgs calls its result flags rather than options
Remove require statements from Binary whose dependency is now in InterpretFlags
Rename spec/binary/interpret_flags.rb -> spec/binary/interpret_flags_spec.rb

So it gets picked up by rspec's default pattern matcher