This fixes:
* Float values like INF and IND.
* Paths with \# in them.
* Keys with \# in them (in case of i18n strings.)
A small change in behavior: ; at the start of the line is now always a
comment. Previously, if the line had a comment already, adding ; to the
front of it would not comment it out.