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?
I prefer the looser `==` here which would cover both `undefined` and `null` just to be a little more forgiving to API users