Fix bug in list_ports_osx.py & list_ports.grep

Sometimes get_string_property(usb_device, "USB Product Name") returns
None; use string “n/a” in this case so regex’s don’t fail.
Add method to detect what device the arduino appeared as, so it isn't hardcoded.