Redmine #1884, #5873: Read module output in text mode on Windows.

Module output is always text, and without this we will get illegal
characters in the module protocol parsing.

There are more tests to fix in the Windows area than I have included
here, but this will have to do for now.
Disable all renegotiation, resumption options and set safest defaults.

Reason is we want to expose a minimal attack surface on the very complex
TLS protocol and its implementations.

To disable TLS renegotiation and session resumption we need to turn off
the server-side session cache *and* disable session tickets (RFC 5077)
extension, see [1]. In the future we can always selectively re-enable
options in order to gain a performance boost.

[1] https://www.mail-archive.com/openssl-users@openssl.org/msg73185.html

Since we do not care about cross-browser compatibility and web, we also
disable all OpenSSL defaults that help with backwards compatibility.
Merge pull request #1730 from jimis/minor

Disable all renegotiation, resumption options and set safest defaults.
Merge pull request #1729 from kacfengine/module_text_mode

Redmine #1884, #5873: Read module output in text mode on Windows.
Redmine#5882: add INFORM message when the given permissions will be filtered
Merge pull request #1731 from tzz/feature/redmine5882-inform-ambitious-permissions

Redmine#5882: add INFORM message when the given permissions will be filtered
Beginnings of a unit test for ParseModeString.
Merge pull request #1732 from vohi/test/parsemodestring

Beginnings of a unit test for ParseModeString.