Unify the scheme handling of all network drivers
This deduplicates a fair bit of non-trivial logic and makes it easier to keep all network drivers in sync when the interface changes.
I also implemented network:mac
across all network drivers that didn't support it yet.