#1130: Add support for Type Collections

In this PR I intend to solve #1130 by implementing Type Collections. Unfortunately during the development of the Descriptor layer for the writers I had forgotten about arrays and collections, and how they should be rendered as individual links.

This omission has quite extensive consequences as a significant change needs to be made.

Acceptance criteria:

- [x] An array containing a link to another Descriptor should show that
- [x] An array containing a link to a non-documented element should show that element name without formatting
- [x] The changes should support having a base type (in case of collection objects)
- [x] The changes should support having multiple types of key and being able to define them
- [x] The changes should support having multiple types of value and being able to define them
- [ ] All changes should be covered by a unit test
- [x] The behaviour should be covered by a behat tests
- [ ] All new elements should be covered by a DocBlock

These changes should be tested against Twig-based templates, XSL-based templates should still be revised because they do not use the routing mechanism. These changes will make that a lot easier to introduce due to the new Renderer