Fix some corner cases when (de)serializing aggregate types

The serializer now ignores member functions which are templates, return
by ref, or don't have the @property attribute.
Fix isSomeFunction check when overloads are present
Document special parameters supported by vibe.web.web.
Add some serialization unittests
Unittest serialization through properties
Merge pull request #817 from ReneZwanenburg/serialization-template-ref-fix

Fix (de)serialization of aggregate types with functions returning by ref
Fix and verify isRWField/isRWPlainField to work for a broad range of member kinds.

See #817, #813.
Move various traits functions from vibe.data.serialization to vibe.internal.traits.
Fix #818
Merge pull request #819 from ReneZwanenburg/isRWField-alias-fix

Detect type aliases in isRWField. Fixes #818.
Pass number of elements to beginWriteDictionary

If the (begin/end)WriteDictionary functions of the serializer
accept an integer argument, pass the number of elements in the
dictionary.
Merge pull request #823 from jpf91/serialize-num

Pass number of elements to beginWriteDictionary.

See D-Programming-Language/dub#416
Terminate HTTP connection when the outgoing response was incomplete.
Fix whitespace in vibe.web.rest.
Do not try to write duplicate response on error in vibe.web.rest. Fixes #821.
Fix isPublicMember for private members
Merge pull request #826 from ReneZwanenburg/isPublicMember-private-member-fix

Fix isPublicMember for private members
Fixed redis subscriber