Problem: evalcmd() has a confusing name. Solution: Rename to execute(). Make silent optional. Support a list of commands.