Merge remote branch 'upstream/master'
Remove ttyrec recordings
Use BaseConnect class's __init__

this implementation is a non-op, remove
move fail2ban_check to module namespace

instead of a local function inside accept().

we wish to keep accept() function very small.
Allow 'anonymous' login handles to be defined

Previously, the handle 'anonymous' was hardcoded
as the "anonymous user" which would be toggled
by another command line option.

Now, the handles that have meaning as 'anonymous'
may be configured. I intend to use this for good
fun by making the handle 'root' an anonymous user
so those fucking Chinese netscanners have something
interesting to show in their logs.
allow threads to be tracked by each server.

previously, if the server was shutdown using ^C
or SIGKILL or some such, the process would hang
until the on-connect threads were completed.

Now, they may be signaled to stop using the
'stopped=True' attribute, so that threads may
be joined and exited cleanly.
empty passwords threw an exception on ssh

so now we fix that.
docstring cleanup
removing unused variables
Support keyword arguments for scripts

matrix_ssh.py is the new matrix script for ssh,
so now you can jump directly to the new user
application script, or login directly as
anonymous@ or username@ without logging in
a second time :)
spellfix
make weather script more resilient to missing xml

a rare condition where the zip code returns xml
data that says 'location not found', for now
we simply print no weather at all, but log
an error for the sysop
allow anonymous user to post messages (!)

previously we saved the contents of the message
to the user's "draft" attribute, but this is
not possible for anonymous users.

Instead, return the body content directly
when save_key is false.

Also, don't throw an exception when trying to
save or retrieve such attributes using the getter.
fix remaining deprecation warnings
fix some redraw and formatting in editor.py
some docstring and syntax fixes
simpler bool return
public ssh key authentication support!
do not display script arguments in log
remove leftover bot crap from matrix