Speed-up path element operations & comparisons

Avoid repeated expensive operations in `STPathElement` (e.g. calls to `base_uint::isZero`) and attempt to make comparisons of path elements faster by calculating a path id and using it to avoid expensive comparisons between `base_uint` objects.

This is pending a performance review.
After realizing that my ability to correct count the number of parameters correctly was surprisingly poor when there were more than five, I now always put each parameter on its own line.  YMMV!