Fix vlan(4) interface address asignment

Previously all of the settings were being set all on one line.  This
cased issues when the address assignment came before the VLAN
assignment.

This work breaks the VLAN assignment and the address assignment out into
multiple lines, the VLAN assignment being the first of which.

I expect that this pattern should also be applied to the carp and other
virtual interfaces that require address assignment only after the
interface options are set.
Support retrieving just the values
Add basic test for OpenBSD vlan interface
Improve manifest parse speed
Retrieve the vlaues instead of the content

This should allow us to be more specific about what we want and keep the
data in flight until the last moment.  The expectation here is that this
should provide more flexibility when implementing new features.
Begin to handle interface state

Previously, we relied on the specific implementation of an interface to
append either 'up' or 'down' to the interface configuration.  This
became hard to work with because all of the logic for the interface
configuration was no longer in one place.  This was a problem because we
would set the interface state before we were finished working with the
content of the file.

This code begins to support setting an interface state on the main
bsd::interface type and appends the values after the file text is built.

This is only supported on a selection of interface drivers, so we
default to undef here and expect that if the value is set, it will only
be either a string of 'up' or 'down'.
Implement state management for vlan interfaces
Merge pull request #23 from xaque208/vlaninterface

Updates to VLAN interface