Use type validity for country detection

Using only the national number regex to detect countries can lead to false positives. For example using 1 514 555 5555 would give the US and Canada as countries, but it is a Canadian number. By making sure there is a valid type for the country this problem appears to be solved.