Optional variable values (again)

In a previous patch, I removed the `required` parameter from the
functions that retrieve the value of a variable.  That was premature.
Override native package names

You can now define a `native.[package]` or `native.[distro].[package]`
variable to explicitly specify the name of the native package that
should be used to satisfy a buzzy dependency.  This variable should be
defined globally, or in the environment of the package that needs the
dependency.

At some point, we'll need to add support for loading these variables
from a linked environment, to eliminate duplication.
Merge branch 'feature/native-override' into develop

* feature/native-override:
  Override native package names
  Optional variable values (again)