File-based dictionaries with caching.

Created file dictionaries of words (maximum 1000 words to keep file sizes down) for data sources. 
Files have the advantage of being more transparent to users. Also, files make it easy for users to customize the values with localized, or alternative, words.
The code looks for a file first, then the embedded resource, then caches the data for subsequent lookups.
Data sourced from briandunning.com (Aus/US/UK person address data) and mockaroo.com (with permission). The data requires some curation and discussion about what we want to include. Currently, there are completed data sources/equivalence classes for Geographic and Person data, but there are a number of other dictionaries included in the PR. 
I've renamed the class to match the type name. I had intended to use the template method pattern/inheritance to have separate test classes for each category of tests, supplying data sources to each child class and having the same tests in the parent class, however xunit works differently than nunit in this regard and I couldn't get it to work. So now I'm just having one test class for all dictionary equivalence classes.