Improved ListPreference

- Renamed SummaryListPreference to BetterListPreference
- Now saves selected value as an int instead of string, so doesn't
require parsing it to an int anymore
Make sure preference file is world readable
Changes to preference reading

- Moved default values to fields
- Reordered preferences to match the GUI
- Call printSettings() only from refreshPreferences()