Device Plugins

When creating a device plugin, start by subclassing DevicePlugin and filling in information for the pure virtual methods.