Interface mode property

This PR adds a `mode` parameter to the `network_config` type which is intended to describe in the interface is a regular untagged ethernet interface, a tagged vlan interface, a bond group, a tunnel, etc..  At present only `:raw` and `:vlan` are supported mode with the default being `:raw` but the hope is that ~`:bond` can be added in the near future.

In this implementation the raw device that a new vlan is configured on is inherently implied by the name of the `:vlan` mode interface.  An alternative to making the raw interface name implicit would be to track the the name of the `:raw` interface a vlan is dependent on.  However, that raises some resource dep. issues which I feel can be added on to this minimal implementation.

The design of this implementation is discussed in https://github.com/adrienthebo/puppet-network/issues/48