CBigNum::SetCompact() and CBigNum::GetCompact()
Because my previous pull-request #1823 which changed the semantics of SetCompact() and GetCompact() in an effectively backwards-compatible way was met with understandable skepticism I've prepared this branch, which provides a bit for bit compatible re-implementation and unit tests.
Please, pull at least the first commit of either of the branches. They only contain unit-tests making sure the semantic of GetCompact() and SetCompact() is not changed unintentionally.
If you agree that the semantics should not be changed, you should still pull the second commit of this branch if you agree that my re-implementation is easier to understand, more efficient, or both.