load balancer plugin (haproxy)

This should be in its own package - it's specific to haproxy, and you should implement an object that generates HAProxy config:

```

type HAProxyConfigGenerator struct {
  // parameterization
}
func NewHAProxyConfigGenerator(...) Generator {...}

type ConfigGenerator interface {
  Generate(Routes) error
}
```

Config reload is probably a separate class, with its own interface (the person who sets them up needs to handle them).