created DeviceInterface::Base for all device interfaces to build from
added FormatInterface to work much the same way DeviceInterface does.  also drafted some new specs and expectations