Initial attempt at Zeus ASIC support.

Partially based on Zeus' reference implementation for CGMiner 3.1.1.
Code is untested against actual hardware.
Remove trailing whitespace
Fixes and additions to Zeus driver
Require explicit algorithm option.
Some preliminary Zeus documentation
Change some log messages and fix writing to config file
Code style cleanup and documentation changes
Add a function to open a serial port in blocking mode
Changes to serial I/O
Properly handle device getting disconnected
Fix nonce endianness
Fix read error handling, tweak difficulty calculation
Various fixes and adjustments to Zeus driver
Switch from select to poll, various I/O changes
Cleanup detection code and thread locking
Sanity checking array indices may be a good idea
Add more Zeus device information to API query responses
Make API device status commands also call driver's get_api_stats callback.

This allows us to move all Gridseed and Zeus driver specific code out
of api.c and keep it in the driver's code.

Also report the correct value for Gridseed LTC proxy port and change
Zeus API status key "Name" to "Device Name" to avoid JSON key conflict.
Minor updates to documentation
Merge branch 'zeus'