datapaths: Add dpctl functionality to pcap_switch

This actually makes a number of semi-related changes:
* Refactors port generation so that switch subclasses can alter behavior
* Adds a little datapaths.ctl framework and simple client
* Fixes some minor bugs in switch base class
* Makes switch base class call its own API functions
* Refactors port/interface initialization in pcap_switch
* Gives pcap_switch ability to add/remove ports while running
* Implements add-port/del-port/show dpctl commands