Adding languages

this is adding the language data list as well as refactoring things so that it is easier when we add the future data-lists.
also, using `.to be` instead of `.to eq` is a slightly stronger test that'll check the object id and make sure that it is the response we want returned