DHCP class generation fixes

```irc
12:38 <drkitty> Each VRF generates a class, which has a subclass for each dynamic interface in the VRF. Did you say we should also build subclasses for the static interfaces in the VRF?
...
12:38 <akeym> every mac in the vrf
```

This pull request changes `Vrf.build_vrf` to match that behavior, as well as improving the general efficiency of DHCP class generation.