Command after leading assignments can now be auto-completed.

This is mostly a bug in pyparsing that the cmd_word's position is always
reported as one character ahead of the actual position if it has leading
assignments. Added an optional whitespace (' ') at the end of
assignments as a workaround to fix the issue.

Fixed a bug that prevents leading assignment being recognized in a pipe
sequence.