Add a generic proxier

To proxy traffic to anything that implements ResourceLocation.
Currently, this is only services. This is easily extensible to minions
(would supercede existing mechanism) and pods.
Yeah, it ends up being easier to read afterwards because it forces you to initialize without specifying a type in your nested objects and forces you to use a for loop correctly