Fix shop duplication bug

This pull request is a hotfix for the the shop duplication bug, which may occur in case that the associated shop entity of an order entity is processed by the `fixActive()` method of the shop repository and the order entity is flushed to the database thereafter. This behaviour is caused by [detaching the shop entity](https://github.com/ShopwareAG/shopware-4/blob/2dc9f4a33ef2ce247364428a0ad412d5f93e06b7/engine/Shopware/Models/Shop/Repository.php#L360) within the mentioned method in conjunction with the [cascading configuration of the order model](https://github.com/ShopwareAG/shopware-4/blob/2dc9f4a33ef2ce247364428a0ad412d5f93e06b7/engine/Shopware/Models/Order/Order.php#L253).

When the order entity is flushed to the database, doctrine evaluates the associated shop entity as "STATE_NEW" and processes an insert action for it (`cascade={"persist"}`), which leads to the duplication of the shop entity within the database.

Instead of detaching the shop entity, this hotfix marks the shop entity as read-only (no change-tracking) to prevent changes made to it from being flushed to the database. Nevertheless this hotfix is not a general solution. An implicit change of an entities behaviour (detatchment / mode change) is bad practice in general. The `fixActive()` method transfers missing properties to language subshops from the main shop. It should be removed to no longer change the behaviour of the shop entity. One approach to replace it would be to move the property transferring to the corresponding getters of the shop model like this:
```
    /**
     * @return string
     */
    public function getHost()
    {
        if ($main !== null) {
            return $main->getHost();
        }
        
        return $this->getHost();
    }

```

Remark: Because the main shop is not changed at all within the `fixActive()` method it is not necessary to detach it.

Run testcase:
```
vendor/bin/phpunit -c tests/Hotfix
```