nixos/network-interfaces: Allow explicit virtual interface type setting
nixos/network-interface: Append -netdev for all device units

Currently, device units are named directly after the name the user
specifies for the device. A bridge device named lan will be defined
within lan.service. This becomes a problem if you want your interface
named nginx but also want to run the nginx service.

This patch fixes the issue by appending netdev to all virtually created
network device units. Therefore, the lan bridge -> lan-netdev.service.
This naming convention is used for all types of network devices in order
to ensure that all network devices are unique.
nixos/network-interfaces: Fix vlan device coming up during switch
Merge pull request #3747 from wkennington/master.explicit

nixos/network-interfaces: Allow explicit virtual interface type setting