Better error checking on private key and csr.  Also, pull in file names instead of pointers.
Cleaned up per Kuba.
Restore 'type=file' on privkey and csr command line arguments.
Fixed format string incompatibility with py2.6.
Provide more user-friendly errors when opening file handles.
Read in files with universal newline support.
More sensible mode defaults when creating a unique file.
Work with CSR and private key file contents in the client.
Clarified --rollback command line option.
Updated get_key_csr_pem() to use file contents instead of file names.
acme/challenge_request handles only 1 domain name

No other functions inside acme/ handle lists, so
to keep the class consistent, challenge_request()
should only handle a string parameter. Iteration
should be moved to the client, which is handling
the list of domain names anyway.
Exception -> LetsEncryptClientError, doc fixes
Fix double "raise"
PEP8 recovery_contact_challenge
More docs for recovery_token_challenge, cleanup
Add package docstrings
Removed unnecessary whitespace
Don’t use explicit file encoding hint
Don’t write unit tests for non-optimal code paths
Various bug, docstring, and PEP8 fixes.