Start of refactoring

This ups the development version to 3.0-dev, which was done because of a legacy 2.0 branch that has been removed from the bundle.

**NOTE: The bundle is not suitable for use in 3.0-dev yet and all users should be constraining the versions being used to stable versions only. A constraint of ~1.2 will result in a usable bundle.**

Specifically, this pull request introduces the following changes (also noted in UPGRADING.md)

- BC BREAK: DataTransformer, FormFactory, FormHandler, FormModel, FormType subnamespaces were moved to a common Form namespace
- BC BREAK: `ParticipantInterface#getId` was renamed to `getParticipantId`
- BC BREAK: `Document\Thread` and `Entity\Thread` no longer return Participants as an array but as a Doctrine Collection
- BC BREAK: Removed `Entity\Thread#getParticipantsCollection` in favour of `Thread#getParticipants`
- BC BREAK: Added method getMetadataForParticipant to `Model\MessageInterface`
- BC BREAK: Added method getAllMetadata to `Model\ThreadInterface`
- BC BREAK: Added method getClass to `ModelManager\ThreadManagerInterface`
- BC BREAK: `Twig\Extension\MessageExtension` was moved to `Twig\MessageExtension`

- Moved Denormalizing functions from Managers to their own dedicated services
- Common methods in Entity\Thread and Document\Thread were moved to Model\Thread
- Common methods in Entity\Message and Document\Message were moved to Model\Message
- Model\MessageInterface no longer enforces implementation of getId