add posargs argument to complete methods

posargs is a dictionary which maps to the positional arguments.
add support for switches occuring multiple times (swinfo.list)