EZP-23441: IO url decorators configuration

> Based on #1017 
> [EZP-23441](http://jira.ez.no/browse/EZP-23441)
> [Specifications](https://gist.github.com/bdunogier/abb938de8be8c77ea69a)

Makes it possible to set the prefix for IO uris at siteaccess level. Other siteacces level variables can be used in the configuration.

Absolute prefixes to other hosts are also possible, and will work with legacy data (as long as the file is available from this uri).

### Changes

#### Settings
Most of the changes are about the ConfigResolver:
- allow dynamic settings in semantic config (added for a specific setting)
- allow complex dynamic settings (`$var_dir$/$storage_dir$`).

Complex settings has been added as part of the CoreBundle. Dynamic settings in semantic config is only part of the IOBundle for now, as it is a bit rough around the edges (but should be possible to move it up to the CoreBundle with a bit of work).

#### url_decorator services
There are now two main url decorators: the default one, and a legacy one. The legacy one is used in the Legacy Converter, via an UrlRedecorator,  to convert the system's uris to the format it requires.

## Configuration example
```
ezpublish:
  system:
    default:
      io:
        url_prefix: "http://static.site.com/$var_dir$/$storage_dir$"
```

## TODO
- [ ] Add specs to PR
- [ ] url or uri ?
Well, I had initially started with a regexp in the ComplexSettingParser, then found the DynamicSettingParser. But one of my tests did not pass with it, due to the loser test. So I added it here as a stricter check, if the first one succeeds.