Change algorithm to mimic bash parsing more closely (merge break_cmdline_into_words and parse_cmdline, add preserve_quotes option)