Refactored name of method anyMatch to firstMatch
Refactor constructor to accept Collection rather than List.
First draft of generic multisequencesearcher.
Updated to use 	Trie wrapper.
Refactored to the same package as the tested classes.
Modified to use lazy initialisation with volatile fields and the single-check strategy.  This can result in fields being initialised more than once if we are unlucky, but it does not change the correctness or thread safety of the class, and most access will be slightly faster as a result, plus uses less memory on average (if you don't search both forwards and backwards).
Added methods to search directly on byte arrays.  Also added some bounds checking - but still need to review for consistency across all classes.
Corrected bounds for searching.
Corrected bounds for searching.
Corrected bounds for searching.
Corrected bug in lastPosition check.
Added bounds checking and non-bounds checked methods.
Added bounds checking methods.
small formatting change.
Updated to use no bounds check matching inside the search.
Added minimum and maximum length to multisequencematcher.
made Trie private.
Added a local matcher to avoid referencing member variable repeatedly.
refactored some common code out into private methods.
adjusted comments a bit.