Fixes #5111 - CSV handles collection or container

csv adapter was not processing fields of collections or containers correctly:
For fields that are collections or containers, a ruby hash  is the result for that column.
Example from `hammer --output csv product info`: https://gist.github.com/dustint-rh/1b1edb08396256d54fe7

This fix creates columns for the nested fields in collection and container in the csv.

if the output definition specifies container:
```
        label _("GPG") do
          from :gpg_key do
            field :id, _("GPG Key ID")
            field :name, _("GPG Key")
          end
        end 
```
both GPG Key Id and GPG Key will be columns in the csv.


if the output definition specifies a collection:
```
       collection :productContent, _("Content") do
          from :content do
            field :name, _("Repo Name")
            field :contentUrl, _("URL")
          end
        end
````
a pair of fields will be displayed for each productContent.

Here is a sample of the output produced by this pull request: https://gist.github.com/dustint-rh/9b0eb6a0456ac4e960b6