Add some timing resistance to Weierstrass

The number of times add and double are called on a point during
multiplication is now constant. This does not eliminate timing
differences, but it narrows the timing gap.