serialize command tree structure to pipe syntax

eg:

    c -- co  -- coo -- cooo
    |            |
    ce          cooe
    |
    cee

to:

    c | (co | coo | cooo 2| cooe) 2| ce 2| cee
use parentAdd/-Remove events to sync grouplist

never rebuild group list (finally...)