depends_on with specified options now smarter

The depends_on 'foo' => 'with-stuff' now also
works if 'with-stuff' is the default for the formula
foo. Same for 'without-stuff'. The smart logic build.with?
provides is now extended to depends_on.

Without polluting the BuildOptions::used_options, stored
in the tab (INSTALL_RECEIPT.json), this approach here
defines BuildOptions::implicit_options which reflect the
defaults that are in effect because the opposite
options has NOT been given.

The Dependency::missing_options now also checks if
the options is an implict_option.

Example:
- foo defines option: 'without-stuff'
- bar needs foo, but with stuff.
- So bar can now write
    depends_on 'foo' => 'with-stuff'
  no matter if 'without-stuff' or 'with-stuff' is defined.

This also helps if formulae decide to switch from
:recommended to :optional and vice versa for deps.
WIP