BIP38 rework 

Aside from a few small bug fixes (and outlined in the commits).
This pull request re-structures the tests to more clearly separate the `encrypt/decrypt` contexts, it provides raw methods of `encrypt` and `decrypt` for those that don't want to use the API with the Base58 encoded strings (because in many cases it is superfluous string typing) and finally it upgrades ecurve to `1.0.0`.