I have revised the direction refining and given it a more prominent role.

It now gets called after get profile info and before refine start points.
It uses several parameters combined into a sigmoid function through
an advanced method of guessology.  That is to say, I made it up.

I think it's a solid technique but could be better tuned.

Apologies for David K. for destroying your method.
Merge branch 'trunk' of github.com:/larlight/LArLight into trunk