Allow TypeExtensions.DecodeMemberAccessExpressionOf() to find protected properties

Specifically needed in OneToOne mappings.

Includes unit tests.

Addresses [NH-3604](https://nhibernate.jira.com/browse/NH-3604).