Implemented prefer-ipv6 environment setting

This is the first of a series of PRs to implement
a "prefer-ipv6" flag across the codebase. As a first
step the following changes were made:
 * Added prefer-ipv6 Boolean flag to the environ config.
   It is optional and defaults to false, and is immutable
   once set.
 * Rather than using a global variable network.PreferIPv6,
   now a new function was implemented: InitializeFromConfig(),
   which takes an interface with PreferIPv6() bool to set
   the (now internal) preferIPv6 flag. This needs to be called
   at start up in several places (bootstrap, MA, UA, CLI), but
   that will happen in follow-ups.
 * Changed the dummy provider a bit to accommodate the changes
   done to the network and config packages.

Next in line will be implementing a PreferIPv6 field in the
agent config, so if it's true we can call InitializeFromConfig
before trying to connect to state or the API to ensure the
user's request to prefer IPv6 addresses / endpoints is honored.
I actually added a panic to discover all places InitializeFromConfig was not called at startup - it was very useful :)