More flexible nested domain validation rules.
Merge branch 'pr/316'
Add test coverage for invalid private domain overlap.

- Refactor "shared" boolean method on domain sub classes.