Added the option "smtp-ssl-protocol" to make STARTTLS work on Python 3.3+

Signed-off-by: Thiago Coutinho <root@thiagoc.net>
CHANGELOG: Document this branch

Documents the following commits:
* 2369d56 Added the option "smtp-ssl-protocol" to make STARTTLS work
  on Python 3.3+

Signed-off-by: W. Trevor King <wking@tremily.us>
Merge branch 'ssl-protocol'

* ssl-protocol:
  CHANGELOG: Document this branch
  Added the option "smtp-ssl-protocol" to make STARTTLS work on Python 3.3+

Signed-off-by: W. Trevor King <wking@tremily.us>
error: Swap SMTPConnectionError superclasses

To avoid:

  >>> import rss2email.error
  >>> rss2email.error.SMTPAuthenticationError(server='host', username='bob'))
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "./rss2email/error.py", line 85, in __init__
      server=server, message=message)
    File "./rss2email/error.py", line 67, in __init__
      super(SMTPConnectionError, self).__init__(message=message)
  TypeError: SMTPAuthenticationError does not take keyword arguments

Reported-by: Federico Churca-Torrusio <fchurca@fi.uba.ar>
Signed-off-by: W. Trevor King <wking@tremily.us>
email: Split sender into both sendmail's -F and -f

Use -F for the name and -f for the address, instead of passing the
composite "name <address>" to -f.  Only the address is used in the
SMTP envelope [1,2], so most mailers will probably ignore -F.  For
example, Postfix only uses it when there is no 'From' header in the
message itself [3].

The old behavior broke some sendmail implementation that assumed the
whole -f argument was an address (reportedly OpenSMTPD).  I haven't
noticed one of these sendmail implementions myself, but they'll create
envelope senders like:

  MAIL FROM:<"foobar <abc>" <foo@bar>>

when we only want:

  MAIL FROM:<foo@bar>

[1]: http://tools.ietf.org/html/rfc2821#section-3.3
[2]: http://tools.ietf.org/html/rfc2821#section-4.1.1.2
[3]: http://www.postfix.org/sendmail.1.html

Signed-off-by: W. Trevor King <wking@tremily.us>
CHANGELOG: Document this branch

Documents the following commits:
* d62baca1 email: Split sender into both sendmail's -F and -f

Signed-off-by: W. Trevor King <wking@tremily.us>
Merge branch 'sendmail-split-addr'

* sendmail-split-addr:
  CHANGELOG: Document this branch
  email: Split sender into both sendmail's -F and -f

Signed-off-by: W. Trevor King <wking@tremily.us>
feeds: Raise an exception when adding a feed with a duplicate name

Avoid:

  $ r2e add example http://example.com/feed1
  $ r2e add example http://example.com/feed2
  $ r2e list
  1: [*] example (http://example.com/feed2 -> lkmorlan)
  2: [*] example (http://example.com/feed2 -> lkmorlan)

Instead, the second addition now prints:

  duplicate feed name 'example'

to stderr and exits with status 1.

Reported-by: Liam K Morland <Liam@Morland.ca>
Signed-off-by: W. Trevor King <wking@tremily.us>
Run update-copyright.py

Signed-off-by: W. Trevor King <wking@tremily.us>
Bump to version 3.9

Signed-off-by: W. Trevor King <wking@tremily.us>
CHANGELOG: Fix 'inhertence' -> 'inheritance' typo

Signed-off-by: W. Trevor King <wking@tremily.us>
Add post_process: add_pinyin_header.py