Adding a dedicated serial queue for notification posting, to (1) avoid deadlocks when using a block for the notification callback and tries to access the data, (2) enforce serialization of the notifications, (3) allows to properly close the store with all the notifications sent.
Adding a method `waitUntilFinished`, useful mostly for testing.
Adding a boolean property to PARNotificationSemaphore so one can test wether the notification was posted even before waiting. This is very useful for PARStore tests.
Adding a test for the `waitUntilFinished` method. To make the test fail more evidently if the behavior is incorrect, also adding an optional notification throttling to the test PARStore subclass.