What I need:
  - Local Dwm::Ipv4CountryDb database
  - Local Dwm::CountryCodes (country code database, tiny)

What do I do when a client requests info for a host IPv4 address:
  - if I have a 'current' record, return it
  - if I don't have a current record, make an RDAP query
     - when I receive RDAP reply, add it to database and reply to client.
       I can use Update() from the Ipv4CountryDb class.
     - What to do with timeout?
     - What to do with ARIN RDAP replies which basically never contain
       country code?  I could assume "US" but what about Canada?  Sigh, ARIN
       should get their act together.

Opportunistic cleansing...
  - when updating the database, it would be nice to purge more specific
    prefixes that are completely covered by a wider prefix.  In fact this
    is probably necessary, else I wind up with incorrect data in the
    database.  Also, I don't really want a database that winds up with
    a number of entries near the number of entries of a global BGP routing
    table.  I don't need that granularity.
  - I should likely consider taking the code from McBlock::Db so I can
    coalesce adjacent entries.  The registries often allocate a bunch of
    adjacent prefixes that can be coalesced into wider prefixes for my
    use.  Basically, if I see 2 /n networks that are in the same country,
    I can likely coalesce them into a single /n-1.  However, this complicates
    figuring out when to update the coalesced record...

I need work queues for outstanding queries.  One queue and thread per RDAP
server?

