For future projects that use the Suffix Tree for finding substrings, including a potential LLVM IR Outliner, this patch is a refactor that moves the Suffix Tree data structure from code only used by the Machine Outliner to Support.
Unit tests have also been added for the Suffix Tree.
LLVM headers shouldn't using namespace llvm;