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.
I would definitely be in favor of converting all of this to networkd.