[WIP] Shadow pages

Implement the Shadow Pages feature

__Tasks:__

- [x] test coverage
- [ ] gather feedback for my changes
- [ ] submit changes to the documentation

__Informations:__

| Q             | A
| ------------- | ---
| Tests pass?   | no
| Fixed tickets | [?
| BC Breaks     | ?
| Doc           | ?

Requires

- https://github.com/sulu-cmf/SuluContentBundle/pull/193
@dantleech we use for exceptions own classes which define message in constructor.