suffix tree construction based on Ukkonen from Andrey