message: net: take the first 4 random bits from CJDNS addresses in GetGroup()
  CJDNS addresses start with constant 8 bits, so in order to account for
  the first 4 random ones, we must take the first 12. Otherwise the entire
  CJDNS network will belong to one group.
diff: @@ -794,8 +794,14 @@ std::vector<unsigned char> CNetAddr::GetGroup(const std::vector<bool> &asmap) co
  vchRet.push_back((ipv4 >> 24) & 0xFF);
  vchRet.push_back((ipv4 >> 16) & 0xFF);
  return vchRet;
  - } else if (IsTor() || IsI2P() || IsCJDNS()) {
  + } else if (IsTor() || IsI2P()) {
  nBits = 4;
  + } else if (IsCJDNS()) {
  + // Treat in the same way as Tor and I2P because the address in all of
  + // them is "random" bytes (derived from a public key). However in CJDNS
  + // the first byte is a constant 0xfc, so the random bytes come after it.
  + // Thus skip the constant 8 bits at the start.
  + nBits = 12;
  } else if (IsHeNet()) {
  // for he.net, use /36 groups
  nBits = 36;
  