The replaced module gopkg.in/yaml.v3 enforce an indentation of 4 spaces, when 0
spaces are defined. This is sad, because the old behavior can not be reproduced.
Instead of using 4 spaces for indentation, when `yamlEncoder.SetIndent(0)` is
called, we call `yamlEncoder.SetIndent(2)` to use 2 spaces for indentation,
because it is closer to 0 instead 4 spaces.
This PR supports the extended pattern of `depends_on`. If the short version of
`depends_on` is defined, it will be migrated to the extended version like the
example below:
```yaml
services:
web:
depends_on
- database
services:
web:
depends_on:
database:
condition: service_started
```
All three types of merging strategies are supported.