nixos/network-interfaces: Implement the ability to add arbitrary routes

This is currently a work in progress as supporting default routes is probably not quite working. I'd appreciate testers when this code actually evaluates.
Why do we need to know the interface? With `ip route add default` you're not required to give an interface, right?