Rename the 'data' property of Version to 'snapshot' for clarity
Also rename some methods in VersionBuilder
Add setters in Version for nullable fields
Store the username of the author inside the Version entity
Merge branch 'master' into PIM-2448
Merge branch 'master' into PIM-2448

Conflicts:
	spec/Pim/Bundle/VersioningBundle/EventListener/AddUserListenerSpec.php
Add 'pending' property to Version entity
Merge branch 'master' into PIM-2448
Merge branch 'master' into PIM-2448
Merge branch 'master' into PIM-2448
Replace Pending with Version

Normalized modifications made to the versionable entities are stored in the changeset property.
The real changeset and snapshot are calculated later by the refresh command.
Effectively, pending versions are not created if the provided snapshot is empty.
Improve VersionBuilderSpec
Merge branch 'master' into PIM-2448
Allow building multiple pending versions
Add VersionManagerSpec
Merge branch 'master' into PIM-2448
Reset non-flushed versions when flushing versions in refresh command
Fix pending version snapshot calculation
Create VersionableInterface

This allows versioning entities that extend abstract entities without requiring the FQCN to be added to pim_versioning_entities.yml config file
Merge branch 'master' into PIM-2448
Move AddProductVersionListener service configuration to mongo storage config file