B58 module

This pull request removes `src/base58.js` and replaces it with https://github.com/cryptocoinjs/bs58.  All our changes have been cross ported to that module, and there is little reason not to split it out given the API is not going to change.

An important question which I haven't yet decided on an answer is as to whether we should force users to use `browserify` when they might want to use `bs58` themselves, or whether we should continue to export it as `bitcoinjs.base58 = require('bs58')`.

I think we need a consistent policy here, because it currently impacts on `BigInteger`, `ecurve` and now `b58`.