Modify unittest::safe to use an std::list instead of a std::forward_list

This was done due to there being nearly neglible performance of using
the doubly-linked list over a singly linked one. Additionally, it means
the eventual test runner will not have to perform a reverse on the
vault instance's list, as otherwise the tests would have been executed
in the reverse order of their being added to the internal list.

The unit test for iteration has been updated to reflect this internal
behavior change.