Adds support for India, Canada and much more

Area code formats now specified so that countries that share a country code can be supported, and invalid area codes (ex: 555 in North America) are recognized as invalid

Local number formats also specified. Allows for better country detection if the country differs from the default country code.

Parsing largely rewritten to better identify countries on parse.

Tests now clear global data between tests (default_country_code & default_area_code were being persisted).

German numbers are now parsed correctly.