changing relative path to have a single interface that requires BRJS
using the same empty list each time rather than always creating a new one
minor code tidy up
improving the way we check source files have patches
changing Trie so the seperator chars are passed in rather than being hard coded to remove hidden 'magic'