Add Styles to omero.util.text module (+flake8)

Now by calling `table_builder.set_style("csv")` before printing
table data, the output of TableBuilder will be simpler to parse.
Currently no handling is added for escaping of commans or similar.
Add '--csv' option to hql.py
Add '--csv' option to 'group list'
Add '--csv' option to 'user list'
Add '--csv' option to 'ldap list'
Refactor `--csv` to `--style=csv` with helper method

In order to enable future styles (tsv, plain, etc),
I went ahead and used the longer version of this to
prevent future noise.
Add PlainStyle for CLI commands

Like `--csv` but omits the header so that
`tail -n +2` is not necessary.
Add list_style for help message
Implement suggestions from @sbesson

 * add test
 * add `list_styles`
 * add registry of styles
 * remove duplicate `--csv` entry from hql.py (rebase error)
 * remove `decode` from `Style.width` (rebase error)
 * refactor width to the super class
Fix compile errors from last night
Refactor width up
Be less smart for argparse

Argparse very much didn't like having non-common types return
from find_style and this was even further complicated by
choices being set.

Now we're back to using solely strings across the board,
and `find_style()` will be used later.
Use 'csv' module for parsing (with tests)

In order to better handle any odd quotes or commas
in input values, the csv module is now used for
parsing.
Merge pull request #2378 from joshmoore/rebased/develop/cli-table-style

CLI table styles (rebased onto develop)