Refactor transaction class

Also good for another PR. If we're using a deterministicK, why shouldn't we use the ecdsa from elliptic.js?