Fix method name.
hide SSL implementation headers behind interfaces

- turn SSLStream and SSLContext into interfaces

- move OpenSSL based implementation to vibe.stream.openssl
mark all SSLContext getters as const
Merge pull request #757 from MartinNowak/ssl_interfaces

Hide SSL implementation headers behind interfaces.
Merge branch 'master' of github.com:rejectedsoftware/vibe.d
Remove the "private" constructor hack for OpenSSL classes. See #757.
Make some small enhancements and corrections of the Redis API.
Add the first draft of a typed API for accessing Redis keys.
allow to generate a unique BsonObjectID with a specified timestamp
Merge pull request #759 from MartinNowak/generateTimeStamp

Allow to generate a unique BsonObjectID with a specified timestamp.
Fix race condition on sending in full MessageQueue
Merge pull request #760 from villytiger/race-condition

Fix race condition on sending in full MessageQueue
Support ubyte[] as a redis reply type
Merge pull request #761 from sinkuu/add_replytype

Support ubyte[] as a redis reply type.
Rename RedisValue.erase() to remove() for consistency.
Add output range based overloads of readUntil() and readLine().
Refactor RedisReply into a typed output range.

 - The code hasn't been runtime tested, yet!
 - All bulk replies can now be typed - this later will have the advantage of avoiding memory allocations
 - The return value of a redis reply is now defined to potentially point to a temporary buffer
 - hasNext/next are kept for backwards compatibility, always duplicating the data to avoid memory corruption issues
Fix the Redis client to pass the test.
Added basic SMTP documentation and examples

Added SMTP unittest as an example

Fixed imports and added example explanations

Added another import
Added formEncode, urlEncode

Cleaned up a bit

Reorganized the file

More bug fixes, added unit tests

Changed separator to char

Use parseURLEncodedForm instead of _String

Rewrote documentation for public functions

Fix unit test