* use a semaphor for actual saving piece
make reading serialized propertystore readonly to help with collisions.
* change over to async Task and await OnStateChanged() method to try and mitigate what might be the race condition causing the ' Sharing violation on path PropertyStore.forms.tmp' error
* update Semaphore name
* remove private specifier per the style guide
* Update docs and add warning suppression for broken mono warning
* ... and adding the warning suppression to Release mode, as well.
* -add try...finally block so we can guarantee that the semaphore is released if there's an exception while saving the properties.
-remove the legacy code that the semaphore replaces
* Update docs
* Attempting to fix docs
* Trying again to get docs to pass
* Remove InternalsVisibleTo from Core to XF.Platforms.*
* Changes per Jason's code review
* Move LockableObservableListWrapper to internals namespace
* Changes per Stephane's code review
* update docs
* Touch code to get CI to run tests
* Rebase; Update documentation