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.
Yes, I'd like to merge it into staging after we've merged the current staging (today or so). 216 seems to break surprisingly few things :-)

But yeah, you can just use the 216 branch already.