ENH: Add ISO3 Codes & safe_cc_only to io.wb.download #8482

This PR adds ISO 3-digit country codes, as well as an argument safe_cc_only to io.wb.download.

closes #8482 .

I will squash all, when appropriate/finished.  Looking forward to feedback.

#### Testing?

I'm a beginner when it comes to nose, testing and virtual environments. I've never used tox.
I manually tested wb.download(), from wb.py in Python 3.4 and Python 2.7.  I'm pretty positive that its unlikely that tests have been set up for wb.download anyway, but, I did run test.sh on Python 3.4.  

#### Version?

Please tag the issue, or this PR, with a version (0.15.1? 0.16?), so that I can update the right parts of the documentation. 
I like the ```errors``` argument.  I can work with that.  (But 'nan' can't work.  We can't know now, what World Bank might return tomorrow.)

I didn't like the messages as they were either.  They are amateurish.  

If I have permission to change the warning/message logic, then 

### this..

##### Old Default Behaviour (v0.14)

* Validate [against list] 
* Drop Invalid From Request
* Dumb Print Warnings

### ...could become (maintain 0.14 logic):

##### New Default Behaviour (```errors='warn'```)  *['KSV' dropped w/Warning]*

* Validate Input [against map]
* Drop Invalid From Request
* Warning('Dropped Country Code(s)')

##### Force Query (```errors='ignore'```) *['KSV' works]*

* Blind Include Every Input Code in Request

##### Real Validity Check (```errors='raise'```) *['KSV' throws exception]*

* Validate [against map] 
* Exception('Invalid Country Code(s)')

### ...but this would be even better:

##### New Default Behaviour (```errors='warn'```)  *['KSV' works, but throws Warning]*

* **Blind Include Every Input Code in Request**
* Warning('**Non-Standard** Country Code(s)')

##### Force Query (```errors='ignore'```) *['KSV' works]*

* Blind Include Every Input Code in Request

##### Real Validity Check (```errors='raise'```) *['KSV' throws exception]*

* Validate [against map] 
* Exception('Invalid Country Code(s)')