Fix 508

The operation performed in #508 basically changed the root group by adding the root group in version "2014-08-28T01:09:46.212Z" under the current root.

To specify a version only makes sense in the rollback use case.
In that case it has to be defined on its own.

I added a validation which ensures, that either an create/update is defined without version or the version is defined on its own. A mix of both is prevented. The same logic applies to scaleBy.

rollback: ```{"version":"xxxxx"}```
scale: ```{"scaleBy": 3}```
update: ```{ "apps": [], "groups":[], "dependencies":[] .... }```