Remove support for NXP ROM DFU and extract it into an independent tool.

Factor support for the NXP ROM out into its own file to keep it around for
production test and for TM-00-02 users who have not yet updated. As the
first step towards refactoring DFU, we'll isolate it. Otherwise it would
likely break unnoticed as it's no longer used.
Remove DFU read support.

Not even implemented on the device side with the current bootloader.
Remove unused properties
Move common initialization code to a TesselBase class
Make `findTessel` and `common.controller` take an options argument.
Make claiming a device optional.

Also clean up the findTessel function
Refactor DFU and `tessel update`

DFU functionality is merged with the same code that handles app mode
device handling.

`tessel update` is refactored to the new DFU APIs and also now checks
serial numbers to ensure that the same device is used throughout the
update process. I took the opportunity to clean up much of the `tessel
update` code.

Fixes #115
Prerequisite for #109

`tessel erase` is refactored to the new DFU APIs and automatically uses
the RAM image to erase if in bootloader mode, or normal erase in app
mode. The `--force` option is removed because it is now automatic.
(There was no point in using `--force` in app mode, because it would
fail to switch to the bootloader in any case --force would be useful)

Fixes #102
Support multiple Tessels via TESSEL_SERIAL env-var

Fixes #109

[minor]
Add `tessel boot` to replace `tessel-dfu-tool run_ram`

[minor]
MOCK_USB for DFU
Log serials to stdout in `tessel list`

[minor]
Tweak device-not-found by serialno error message
Merge pull request #117 from tessel/km-refactor

Refactor DFU and support multiple devices