Initial attempt to add tests for completion

The basic approach is to call the completion function we give to the
bash "complete" built-in with the environment and arguments that the
completion system will.  This is done by creating a small bash script
that sets everything up, calls the completion function, and prints out
the contents of COMPREPLY then using bash to execute that script.

The biggest issue with the current approach is that the automatic
addition of a space after full-completed commands can not be tested.
There are two reasons for this:

  1. The compopt command doesn't think it is being called while a
     completion is in effect and thus doesn't properly modify the
     generated completions.  Furthermore, it prints an error to
     stderr.  To prevent this message from failing the test currently
     everything in stderr is being ignored.

  2. The way that completion options are compared is swallowing
     whitespace somewhere

There are at least three other changes that will be needed to test
completions more fully:

   1. The ovsdb-server will need to be started for some tests since
      some completions need to interact with it.

   2. The completion script to be sourced should be determined by
      ${COMP_WORD[0]}

   3. Something will have to be done about commands that complete on
      information that will vary between systems such as network
      interface names.