More work in optimizing, names and added substr().
More work in optimizing, names and added substr().

This is work in progress. I added an unicode substring. Tried to handle
edgecases more consistent too.

jfhg/Nim,jfhg/Nim,zachaysan/Nim,tulayang/Nim,russpowers/Nim,dom96/Nim,russpowers/Nim,haiodo/Nim,russpowers/Nim,haiodo/Nim,haiodo/Nim,singularperturbation/Nim,zachaysan/Nim,russpowers/Nim,russpowers/Nim,jfhg/Nim,zachaysan/Nim,mbaulch/Nim,mbaulch/Nim,singularperturbation/Nim,tulayang/Nim,tulayang/Nim,singularperturbation/Nim,jfhg/Nim,tulayang/Nim,haiodo/Nim,dom96/Nim,zachaysan/Nim,haiodo/Nim,jfhg/Nim,zachaysan/Nim,jfhg/Nim,haiodo/Nim,mbaulch/Nim,tulayang/Nim,singularperturbation/Nim,dom96/Nim,haiodo/Nim,dom96/Nim,jfhg/Nim,singularperturbation/Nim,dom96/Nim,russpowers/Nim,tulayang/Nim,singularperturbation/Nim,zachaysan/Nim,mbaulch/Nim,dom96/Nim,dom96/Nim,singularperturbation/Nim,mbaulch/Nim,russpowers/Nim,zachaysan/Nim,mbaulch/Nim,mbaulch/Nim