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.
Two minor comments:
- try not to add trailing whitespace as in this line (normally you should be able to configure your editor to remove that automatically on saving, or should there be a menu action to remove all trailing whitespace in the file)
- try to hard wrap the lines (in principle to 80 chars, but 80-100 is also OK here I think), otherwise this is very difficult to review on github (as the line above)