Various tests and recoverPubKey change

This pull request adds more tests for `ecdsa`, `message` and `scripts`.

The only functional change is in `recoverPubKey`, which as discussed with @jprichardson, has had a superfluous verification step removed in favour of forcing the user to verify the pubKey themselves.
This is actually already inherent previously, but there were often only 2 candidate keys, not 4. 

This does not affect any of our code, as we only use the `recoverPubKey` operation in `Message.verify` and `ecdsa.calcPubKeyRecoveryParam` , and in both cases we have independent verification occurring of the returned public key. 
This change can be seen in https://github.com/dcousens/bitcoinjs-lib/commit/69e086275b6924dd93c8ddcaf86cf5867f7be3d3.

**edit**: The TransactionIn constructor was also changed in that it had untested functionality removed.  This shouldn't be a problem, but was pointed out by @kyledrake.  Change made in https://github.com/dcousens/bitcoinjs-lib/commit/e49e1796d53898f35bfd733242699430115bd16b.