Refactor logic to prevent breaking changes in useToastState (#6270)
* Refactor logic to prevent breaking changes in useToastState
* added more tests and fixing a bug they caught
* Fixed the other bug found by new tests
* fix toast visual insertion so it inserts at the bottom
* remove uneeded key and handle case where a user just calls remove
* tentative change to readd exiting to toasts that are shifted out of the visibleToast list due to a higher priority toast being added
* fix so that a toast that is removed but not closed doesnt get removed from the queue
this mimics the exitAnimation call to close that RSP toast does
* add test to make sure order of toast doesnt change on close
---------
Co-authored-by: Robert Snow <rsnow@adobe.com>
Co-authored-by: Kyle Taborski <ktabors@yahoo.com>
Co-authored-by: Devon Govett <devongovett@gmail.com>