Let eventlet.wsgi.server log tracebacks when eventlet_debug is enabled

The "logging" available in eventlet.wsgi.server/BaseHTTPServer doesn't
generally suite our needs, so it should be bypassed using a NullLogger in
production.  But in development it can be useful if tracebacks generated from
inside eventlet.wsgi (say a NameError in DiskFile.__iter__) end up in logs.
Since we already have eventlet_debug parsed inside of run_server we can skip
the NullLogger bypass and let stuff blast out to STDERR when configured for
development/debug logging.

Change-Id: I20a9e82c7fed8948bf649f1f8571b4145fca201d
Provides proper error handling on builder unpickle

This patch provides the necessary error handling while unpickling
a builder file. Earlier if a builder file is empty/invalid/corrupted,
the stacktrace was shown to user with an exit code of 1. This fixes it
to show a user-friendly message and also returns the exit code of 2,
indicating there was a failure.

Change-Id: I51eb24702c422299629f8053d4591dd10f5863f8
Closes-Bug: #1370680
Fix up the return value of launch()

This is "obviously" the right thing to do, except of course it's
pure sugar: the return value is not used anywhere. Except if someone
has a script that imports the whole thing somehow and then does
isinstance(dict). Because that is so much easier than submitting
a patch, I can imagine someone, somewhere doing that.

The fix came in a patch by dfg, see review 121851.

Change-Id: I39ddf70dc2d027b7db6e31097400248dc66eb137
updated AUTHORS and CHANGELOG for 2.2.0

Change-Id: I6c0bc1570f6a48439de5a029a86f1b582f30f8a6
Merge "Let eventlet.wsgi.server log tracebacks when eventlet_debug is enabled"
Merge "Fix up the return value of launch()"
Merge "Provides proper error handling on builder unpickle"
Merge "updated AUTHORS and CHANGELOG for 2.2.0"