Fixed quoted semicolons splitting commands

If a command's argument contains a quoted semicolon or pipe, these are
ignored when parsing/chaining commands. Code problems have now also been
resolved.