Many cleanups to Transaction, see detailed.

```
Default-ize the sequence rather than use a number, and default to bytes
for input. I doubt anybody ever uses this anyways.

Remove weird convenience code, and remove wallet logic. Checking a TX's
affects on a wallet should be managed by the wallet object.

Remove parsing for the weirder SIGHASH types. People use this library
for creating SIGHASH_ALL transactions, and I don't see the need to
support these other types at the moment since this library's more used
for wallets than for hardcore bitcoin tx analysis/creation. They weren't
tested anyways.

Add note about potentially improving performance by providing
pubkey/address. Deriving from the private key is slower, that
information should probably be cached by the end user.
```

The most controversial thing I did here was remove parsing for weird SIGHASH types. This library is used for creating SIGHASH_ALL txes, and I don't think it needs to support these other types, but I'm OK to get some pushback on this if there's disagreement.

This brings our transaction.js testing coverage up quite a bit:
![screen shot 2014-03-20 at 3 48 51 pm](https://f.cloud.github.com/assets/28153/2478539/eb406570-b081-11e3-80de-b3eaf9b8a677.png)