Make Society location nullable

location will not be known when societies are initially created
Societies will be read from sheets of languages + iso codes, which do
not include lat/long data.  Lat/long data must be extracted from
society variables later (e.g. EA104, EA106).
Migration for making society.location nullable
Swap language/society FK

In the list of unique societies, languages are repeated.  Originally
the model had languages with a FK to society, but one language can be
associated with many societies, so this has been swapped
Migration for moving language/society fk
Attach languages to societies
Unique index on coded society values

Fixes #24
Migration for unique index on VariableCodedValue
Change self.number to self.label
Update load_all_datasets.sh to use ea_langs+isocodes.csv
Fill in society location after loading variables

Fix #39
Update tests for swapping language/society fk
Merge pull request #52 from NESCent/update_read_societies

Update read societies