Disallow "*/maskbits" as an address pattern.

Fixes bug 7484. We've had this bug back in a8eaa79e031ee04d44 in
0.0.2pre14, when we first started allowing address masks.
Expose parse_client_transport_line() and parse_server_transport_line() for the test suite
Add some mocks needed to unit test ClientTransportPlugin/ServerTransportPlugin config line parsing
Add unit test for ClientTransportPlugin/ServerTransportPlugin config line parsing
Replace all calls to parse_client_transport_line() or parse_server_transport_line() with new parse_transport_line() stub
Merge and refactor redundant parse_client_transport_line() and parse_server_transport_line() functions
Ticket #11291: patch from "anon":

test-11291-group-redable-hsdirs-wtests-may8.patch
Clean up patch

Here I clean up anon's patch with a few of nickm's suggestions from comment 12:
https://trac.torproject.org/projects/tor/ticket/11291#comment:12

I did not yet completely implement all his suggestions.
Correct check_private_dir's dir mode

This commit attempts to satisfy nickm's comment on check_private_dir() permissions:
https://trac.torproject.org/projects/tor/ticket/11291#comment:12
"""check_private_dir() ensures that the directory has bits 0700 if CPD_CHECK_MODE_ONLY is not set. Shouldn't it also ensure that the directory has bits 0050 if CPD_CHECK_MODE_ONLY is not set, and CPD_GROUP_READ is set?"""
fix two typos
Make HiddenServiceDirGroupReadable per-hidden-service
Fix white space
Add Window compatibility note to docs

HiddenServiceDirGroupReadable has no effect in Windows
Fix regression nickm pointed out
Remove HiddenServiceDirGroupReadable from or_options_t

...and also fix whitespace.
Fix permissions logic
Additional test for error-case

This error-case was already fixed by previous changes,
this is to cover it in case there's a regression.
Use digest256map for computing microdescriptor downloads
Use digest256_len in networkstatus_copy_old_consensus_info()

Now, if a router ever changes its microdescriptor, but the new
microdescriptor SHA256 hash has the same 160-bit prefix as the old
one, we treat it as a new microdescriptor when deciding whether to
copy status information.

(This function also is used to compare SHA1 digests of router
descriptors, but don't worry: the descriptor_digest field either holds
a SHA256 hash, or a SHA1 hash padded with 0 bytes.)
Merge remote-tracking branch 'public/bug13399'