Reorganize NIC Profiles as list of interfaces

Reorganize the NIC handling to use list-based nic profiles while preserving the original behavior with dicts.