ECPair: replaces ECKey/ECPubKey

This is a `2.0.0` PR.

Mostly just wanted opinions on this design vs the original `ECKey`/`ECPubKey` design.
I personally prefer it, and the semantics are quite strong so despite the optional constructor argument either way; it does make life a lot simpler.

It also simplifies a fair amount of code IMHO.

Open to comments/discussion. @weilu, @jprichardson?
`getPublicKeyBuffer`? God knows what format is `publickKey` in. It doesn't help reading the implementation either because it's unclear what type `Q.getEncoded` returns