Resolve #20 - one-to-many lists can go out of sync if backing store is replaced

This fix adds a check that the 'source list' is indeed the same list instance
that the wrapper wraps.  If the source list has changed since the wrapper was
created then the wrapper is discarded and created/initialised afresh.

This fixes the issue whereby the wrapper and the private backing store for such
a property can go out of sync, should the private backing store be replaced
after the wrapper was generated.