use primary keys; first pass at storing language names

This adds a table to the DB mapping language codes to language names.
However, the parsing of the language names is not very good. To fix it,
I'd want to change the parser.
a standalone parser for the IANA registry format
refactor the subtag loader (see db.py)