libratbox/crypt: fix difference from glibc in sha256_crypt()

rb_crypt() was generating different SHA256 ($5$) hashes than glibc,
making hashes generated with charybdis unusable in ratbox and other
software, and vice versa.

(cherry picked from commit 320d34a6062ed1f30d5893e520024971390a2938)
Avoid wrong detection of redundant/duplicate auth blocks with auth_user.

If there was more than one user= per auth block, the check for redundant
or duplicate auth blocks did not take auth_user into account.

(cherry picked from commit 0c2ea0c3ceb500bb2a049a4b250d7addfc782772)
autotools: fix typo relating to ban db

(cherry picked from commit 1870e06ad39a03478eb1c6bb6365983ca965da71)
doc/ts6-protocol: Correct the mode letter for termination

(cherry picked from commit 9337f5ce45c01d1fa6f0aa2e6fcaa2e14d93e952)
doc/ts6-protocol: Document ETB message (EOPMOD capab).

(cherry picked from commit a5de4edefdcec9b8cbced2c9c54dcfdab06e7aa6)
webirc: Check validity of given IP.

(cherry picked from commit 0391874cc7b9ba88409f0c2b0728196b5262aa36)
extensions/mkpasswd: Do not leak /dev/random fd.

(cherry picked from commit f9960c026200a7abda9575cb80fb397dbf705d7e)
extensions/roleplay: Fix memory leak on every use.

(cherry picked from commit a6b29d3ed4ea090616e4abb1da46696278e96961)

Conflicts:
	extensions/m_roleplay.c
Clarify UMODE +R help text

(cherry picked from commit 445af265f1719cedf643b20ef109bd8bc10b2ff0)
m_version: display charybdis version in /version

Otherwise it just crashes when /version is used.

Closes: #60
(cherry picked from commit 0f4ed4058d737caede02d4522673cac27bfb26a5)
m_version: remove spaces from version string

"to make it machine parseable again", as in ircd-seven commit 03b2176b88a1.

(cherry picked from commit c72f15bcf5328aa182ff65f8b27bc3b519369b51)

Conflicts:
	include/messages.h
Fix buffer overflow in introduce_client and burst_TS6

If the client being introduced has more than 10 user modes send_umode()
will overflow ubuf

(cherry picked from commit 9744d53ec9024a7fa2ec017229bc384086964db1)
strip_colour: Strip '\x0F' (^O, formatting off)

Reported by ssbr on freenode:

chmode +c doesn't strip ^O, which turns off all previous formatting.
This can cause clients that internally use mIRC formatting to render messages weirdly,
e.g. highlighted messages in HexChat: <https://i.imgur.com/eDX8Aif.png>.
(cherry picked from commit bd96349c862fe12cafdc53879d7c5df3f8700c78)
smoketest: Remove race conditions causing occasional test failures.

(cherry picked from commit a7fa7fff0d7068c94deb720501e60b881eaae1ad)
SJOIN: Fix crash when both mode parameter and UID list are missing.

Closes #63

(cherry picked from commit b733b9faf444746ae93150e2b64120954610db68)