Added client-side support for --contains-text on the list command.

- --contains-text with --installed or --consumed options use a
  client-side filtering implementation, where --available uses
  server-side.

- Fixed an issue which would cause output for --available or
  --consumed to be skipped if --installed or --available had
  zero objects to display.

- Updated the man pages and auto-complete accordingly.
Python's negative lookbehind is `(?<!...)` according to the docs, but that regex has `(?<!=...)`  Is that a combination of assertions or does Python actually accept an equals in the negative lookbehind signifier?  If it's not a combination, I think we should stick with what's in the docs.