For NH-1262: Ported cascade delete orphans functionality for one-to-one mappings from Hibernate to NHibernate.

Mappings can be made in XML or MappingByCode.

The following scenarios are supported:

1) Bidirectional primary key based one-to-one.
2) Unidirectional shared primary key based one-to-one
3) Bidirectional foreign key based one-to-one with orphan delete declared on the non-constrained (<one-to-one/>) side.
4) Bidirectional foreign key based one-to-one with orphan delete declared on the constrained (<many-to-one unique="true"/>) side.
5) Unidirectional foreign key based one-to-one with orphan delete declared on the constrained (<many-to-one unique="true"/>) side.
6) Unidirectional foreign key based one-to-one with orphan delete declared on the constrained side (<many-to-one unique="true"/>) where the foreign key is composite (multiple columns).
Merge branch 'NH-1262' of https://github.com/mickfold/nhibernate-core into NH-1262

Conflicts:
	src/NHibernate/Engine/Cascade.cs