420c USB->Serial support

Hi Shell,
I've added support for the USB -> Serial adapter I have. It works well :) 

I refactored some of the USB connection code to easier provide for different sorts of device, and I think that I'll have a go at adding another device.
I have been talking to John90 on MX5Nutz, and I think that the USB->Serial Adapter that he's using has a different chipset to the one I have. :/
I haven't looked at doing it yet, but I was going to add some more debug info for users when the app fails to connect to a device. If it displayed the USB IDs then I/we would be able to tell if a device could be added.

I tried to keep the code in the same style, but I'm very unused to java, so I'll not feel offended if you don't like how I've written bits :)

Matt