Beefed up BigNum.
With Nik's earlier suggestions to CKey.cpp, (which look good to me), it
seemed clear that BigNum was growing up and needed a little tender loving
care.  I've done that on top of David's original code, just because that's
what I had handy.  BigNum no longer exposes its BIGNUM*, and is a fully
operational class supporting both copy and move semantics.  Aside from
some extra error checking, it should have the same performance as David's
original code.  It makes the client code a little easier to read.
This passes unittest.