Rewrite with Suffix Object

This is a working version that changes to using a suffix object that
stores the location, fileName and forwardness of each suffix.  This
seems to increase the speed by a factor of 10 or so.