Merge remote-tracking branch 'remotes/upstream/master'
Merge branch 'master' of https://github.com/rejectedsoftware/vibe.d
PFS support

- make DH and ECDH configurable

- choose defaults

- select option to NOT reuse secrets
Fix #line directives and rework REST examples. Fixes #628.
Fix DDOX filter flags.
Remove all #line directives used for better mixin error messages. See also #628.

The latest DMD outputs proper line numbers for errors happening within a string mixin, so this error prone approach isn't necessary anymore.
Merge branch 'master' of https://github.com/ArjanKn/vibe.d
Reduce memory allocations for building the router match tree (about 2x time reduction).
Add Router.rebuild() and make the tree match router implementation the default.

Router.rebuild can be used to eagerly create the match structures to avoid a delay for the first request.
Make URLRouter final and add a removal notice for the HTTPRouter interface.
Merge pull request #630 from MartinNowak/pfs

Implement PFS support for SSLStream.
Add workaround for strange compiler bug that resulted in __traits(classInstanceSize, SSLStream) == 0.
Change the default SSLVersion for createSSLContext to "any" instead of TLS 1.0.
Let serializeToBson take an optional buffer parameter to avoid allocations. See #633.
First round of eliminating allocations in the MongoDB driver. See #633.

The code is only mildly tested so far.
Second round of eliminating allocations in the MongoDB driver. See #633.
64-bit compile fix.
Third round of eliminating allocations in the MongoDB driver. See #633.
Fourth round of eliminating allocations in the MongoDB driver. See #633.

MongoCollection.find[One] now accepts an explicit return type instead of always returning Bson. This allows to avoid all memory allocations as long as the return type doesn't contain indirections (e.g. strings or arrays).
Use uninitialized buffers for Bson serialization. See #633.