Add WIP FTP stream support classes

RE: chfoo/wpull#23
http.stream: Update docstring
ftp: Add util.reply_code_tuple() Reply.code_tuple()
add WIP ftp.command.Commander
Abstract client and client session.
Abstract lines from http.Request to URLPropertyMixin
fixup! Abstract client and client session.
WIP Add FTP client
testing.ftp: Add get_url(). Fix unsafe-thread writer.close()
WIP FTP MLSD support.
fixup! WIP FTP MLSD support.
Add WIP LIST parser.

[ci skip]
ftp.ls: WIP Stateful date time heuristics for 12/24 period and DMY/MDY.
ftp.ls.date: Implement internationalized date parsing for top 11 langs.
ftp.ls: Implement unix ls parsing.
Merge branch 'develop' into temp1

Conflicts:
	setup.py
Merge branch 'temp1' into issue/23_ftp_2

Conflicts:
	wpull/connection.py
	wpull/http/client.py
http.client: Put proxy concerns into abstract.client.
doc: Update module listings.
setup.py: Include ftp.ls