Optimize ScalarBaseMult

Optimize ScalarBaseMult
    
Code uses a windowing/precomputing strategy to minimize ECC math.
Every 8-bit window of the 256 bits that compose a possible scalar multiple has a complete map that's pre-computed.
The precomputed data is in secp256k1.go and the generator for that file is in gensecp256k1.go

A test was created to test against the normal ScalarMult.

Also fixed a spelling error in a benchmark test.
    
Results so far seem to indicate the time taken is about 35% of what it was before
    
Closes #2