Client code updates

### Major updates including bug fixes and code refactoring

1. Implemented all client options in #89
2. New test script with 45 commands
3. Improved exception handling
  * new module-level exception classes
  * centralized exception handling for KeyInterrupt etc
  * requests.get wrapper that parses CherryPy error message 
4. Refactoring of client codes
  * moved auth codes to auth.py
  * tried to follow Google python code style
5. Support for environmental variables
  * `ARAST_URL`, `ARAST_QUEUE`
  * Config precedence: command args > env > config
6. Production service URL: kbase.us/services/assembly
7. Version number now defined in `__init__`
8. Experimental unit testing inside source code
  * client.test_verify_url can be discovered by py.test