* Make our async deallocation functions take a double pointer, so we can be sure we've released before the queue drains
* Make it a class property
* Fix the return type
* Use a locker
* Improve release notes
* Mark ASRunLoopQueue as drained if it contains only NULLs
* Update CHANGELOG.md
* Cover ASRunLoopQueue with tests
* Include PR link in CHANGELOG.md
* Replace license header of ASRunLoopQueueTests.m with correct one
* Insert a nil in _internalQueue to ensure compaction, instead of maintaining a state for _isQueueDrained