Previously, IniFile.ReadFile created sections by checking for brackets
anywhere in the line, causing issues if a value had brackets. This
commit changes the section matching regex, so that only lines that
begin with a bracket can become sections.
false is a perfectly valid setting for one of SM's ini files. The code here needs to ensure that both the key (string) and the value (string, numeric, boolean) read from file exist. It would previously halt if the value was set to false. This fixes that by explicitly checking for nil.