Add valid_pubkey?
Prefer Resolv::DNS to subshell and regexps

Benefits
  * support transparently both IPv6 and IPv4
  * avoid spawning a child process
  * friendlier to all Ruby VMs (especially jruby)
  * less brittle when avoiding regexps
Add support for decoding negative values in compact bytes (i.e. target bits).
Relocate Dogecoin reward calculation to independent class

This moves the Dogecoin block reward calculation into its own class, in the same style as used
for Namecoin. Additionally this corrects post-600k block rewards for Dogecoin.
Add next proof of work difficulty target calculation.
Corrected rounding of modulated time values for Dogecoin difficulty calculations