Tested, implemented DocumentCollection::shuffle
Tested, implemented DocumentCollection::shuffle
Tested, implemented DocumentCollection::filterIds
Refactored DocumentCollection constructor to accept either a librarian or a callable for arg 2 of constructor

This allows for ease of testing and reuse by not demanding that an an instance of LibrarianInterface be passed
Tested, implemented DocumentCollection::filter