Changes for ECDSA in crypto-pubkey

I'm currently trying to implement ECDSA in `crypto-pubkey`. Being able to access common curve parameters directly from a `Curve` type makes my implementation cleaner (at least as I'm doing it now which I'm not sure is the cleanest way).

However I don't know if my changes are consistent with the rest of the package or if the renames will make other packages break. If there is any other way to get the parameters cleanly without doing these changes, please let me know.

I was also tempted to get rid of `CurveCommon`, `CurveBinary` and `CurvePrime` and put `CurveCommon` records directly in each Curve constructor. But I guess there must be a reason to have different types.