ENH: Add ISO3 ctry codes and error arg. Fix tests, warn/exception logic #8482

This PR adds ISO 3-digit country codes, support for World Bank Country Code exceptions, by changing the error handling and warning logic and introducing an ```error``` argument which toggles between ignore/warn/raise . Validation no longer filters bad country codes, prior to submitting the API request.  Instead, it attempts to catch errors in the WB response - which is a very hairy thing.  See notes added in remote_data.tst for issues.

During this PR, we attempted to clean up the JSON response, and make the module as simple as possible, without restricting the user.  In the end, it proved somewhat awkward, but the solution is a good one given the constraints of the WB API.

closes #8482 .

Updated right before merging to remove noise, and provide a summary.
change this to ``:func:`io.wb.download()` ``, it will then render a link to the function. FYI you can build the entire docs (take a little time, but is instructive), to make sure that links work and such.