Parse Gecko's relevant preferences files in import.py, and determine the #defines surrounding each pref, and whether it's a bool, int, or string pref. Write the prefs out as a sorted list of C structs.
Reimplement mozilla::Preferences to search the sorted lists of prefs. This means our prefs aren't changeable at runtime, but that's probably fine, at least at this stage.
Add a test for Prefs. The string pref however uncovered that NS_ConvertUTF16to8 doesn't work properly, so we'll need to fix that (I left it as a ToDo).
Also, added a test for nsPrintfCString, which showed that we needed Printf.cpp.