refine copyright
formatting
include i in sig obj + cosmetic improvements
recover public key from signature
"hashbuf" indicates type is a buffer
hash -> hashbuf
BN -> BN()
bn -> BN, BN -> BN()
fix precision error by handling BNs correctly
support BN in bufferwriter

So that the precision of writing a variable sized integer is sufficient.
remove "(classname): " from tests

...to reduce the burden on writing new code