Implementing the 'DynamicShould.HaveProperty' functionality.

Can you think of a way this could throw an exception? I can't see anything obvious but we want to make sure this will not cause regressions.