add conversion of "~/campaigns" to "~add-ons"
increase efficiency of auto-recognition and cover more cases

*wrap block in if, so that all lines aren't searched three times
*also cover blank unit type fields and one-character ids
*prevent ids that will be empty after strip() from crashing python-enchant
speed up backslash/userdata replacement by using a basic filter before going to complicated regex
remove '~' in [textdomain] and [binary_path] paths