make GetFirstNetworkInterface() select first nic that is up

On systems with more than 1 nic or a tunnel interface, FirstOrDefault() sometimes returns a nic that is down.

This patch should fix that and only select a nic with appropriate status.