Goodbye synchronous lookups

As we start to go down into the world of having plugins that actually
have to seriously do I/O, we have to let go of the illusion that we can
do synchronous lookups and instead transfrom the API entirely to
asynchronous. All in all, the interface for a user, while a little bit
more verbose isn't too terrible.

As part of this, we've split apart the plugin interface for lookup, so
getting the default entry of the point to point modules is still allowed
to be a synchronous (and still a one-time) event. We also transformed
the proxy DHCP API to match the arp and ndp, so there is now a plug in
interface that does the DHCP mac address lookup.