Device support: PL2303.

This change consolidates changes made by Felix Hädicke:
  https://code.google.com/r/felixhaedicke-usb-serial-for-android/

Upstream changes merged (newest first):
  3b6fb7f Rename parameter variables
  74d858f Remove unused constant
  bab0691 Make consts private
  381f28c Remove test code
  bdd9a64 Suppport for reading CTS / DSR / CD / RI status
  ccf807a Remove "Untested" TODO comment (no longer true)
  1b1ccce Remove unneeded commented out function ctrlIn
  5f853db Make parameter fields private
  d8c6758 Fix for wrong constant being used when turning off DTR
  05ff566 Fix for NullPointerException
  9d2c9af Reenabled device type detection
  307ce72 Device support: PL2303.

Original commit message:
  New driver for Prolific PL2303

  A new driver for Prolific PL2303 devices, which is more or less a port
  of the "pyprolific" driver from https://github.com/eblot/pyftdi
UsbSerialPort: add purgeHwBuffers method.

Consolidates following changes from Felix (newest first):
  1123807 Rename flushHwBuffers to purgeHwBuffers
  3eb145d Use UsbSerialPort instead of UsbSerialDriver in SerialInputOutputManager
  f91a974 Return true in flushHwBuffers default implementation if there is nothing to flush
  69c0b59 Implement flushHwBuffers for Cp2102 driver
  4a41bd9 Rename UsbSerialPort.flush function to flushHwBuffers
  c908da4 Refactoring: Make ProlificSerialDriver a subclass of CdcAcmSerialDriver
  39cb480 Refactoring: New UsbSerialPort interface
  d542f64 Refactoring: Do not require permission to USB device when probing
  9a13571 Support flushing non-written / non-read data
Classpath update from ADT.
Adding support for the new FT231X IC from FTDI

To use it as a serial-USB bridge it's the same thing as a FT232 IC
Fix for botched merge 730ed711.
Add wiki links.
Throw exception on bad parameters to Prolific
Merge pull request #39 from vocaro/master

Throw exception on bad parameters to Prolific
Update README.md
Corrected USB Control Request Type definitions

Even though they are not being used, might as well set them right. The other option would be to delete these four lines. For reference, http://www.beyondlogic.org/usbnutshell/usb6.shtml

SIgned-off-by Venkatesh Shukla <venkatesh.shukla.eee11@iitbhu.ac.in>
Merge pull request #63 from venkateshshukla/patch-1

Corrected USB Control Request Type definitions
API refactor, adding UsbSerialPort interface.

- UsbSerialDriver is now a discrete interface.
- UsbSerialDriver provides getPorts() method, returning one or
  more usable UsbSerialPort.
- Use of UsbDeviceConnection is deferred until open(),
  making it possible to probe for ports without
  permission from Android.

(Thanks to Felix for inspiring some of these changes).
Rename Cp2102SerialDriver to Cp21xxSerialDriver and add Usb IDs for more Silabs devices

Conflicts:
	UsbSerialLibrary/src/com/hoho/android/usbserial/driver/Cp21xxSerialDriver.java
	UsbSerialLibrary/src/com/hoho/android/usbserial/driver/UsbId.java
	UsbSerialLibrary/src/com/hoho/android/usbserial/driver/UsbSerialProber.java
Update README.md
UsbSerialPort: Add port number to interface.
UsbSerialProber: Expose getDefaultProbeTable().
Fix open().

Issue #53.
open(): Set mConnection eagerly, and clear on failure.

Similar to CdcAcmSerialDriver. Issue #53.
Add ProbeDevice.
Convert to gradle.