BS58 module

This pull request removes `src/base58.js` and replaces it with https://github.com/cryptocoinjs/bs58. 

All our changes and tests have been cross ported to that module, and there is little reason not to move it out given the API is not going to change (as far as I can see).

Its up for debate 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 `base58`.

The ideological solution would be that we just ask/force users to use `browersify`.