cli/user list tests
removed test_list_user_5 - ui only, fixes as sugested
Take advantage of inheritance for UI classes
Remove unimplemented __init__ for CLI classes
Merge pull request #638 from elyezer/ui-inheritance-refactor

Take advantage of inheritance for UI classes
Merge pull request #635 from alda519/cli_user

cli/user list tests
Adding CRUD CLI tests for Repositories.

Work In Progress as there are a few on-going tasks by the developers
which still need to be merged to get this done.
Removed __init__ as it is not needed anymore.
Adding CLI support and tests for System Group.

Initial support and CLI CRUD tests for system groups. Sadly this cannot
yet safely be merged due to the fact that there are 2 major bugzilla
issues blocking assertions, deletions and updates.

* https://bugzilla.redhat.com/show_bug.cgi?id=1080475
* https://bugzilla.redhat.com/show_bug.cgi?id=1084240

This handles Issue #170.
Removed __init__ as it not needed anymore.
Merge pull request #639 from elyezer/cli-inheritance-refactor

Remove unimplemented __init__ for CLI classes
Merge pull request #633 from omaciel/system-groups-cli

Adding CLI support and tests for System Group.
Merge pull request #620 from omaciel/add-repo-cli

Adding CRUD CLI tests for Repositories.
Improve bzbug decorator to cache fetched bugs
Merge pull request #640 from elyezer/improve-bzbug-decorator

Improve bzbug decorator to cache fetched bugs
Adding CLI support for Systems and CRUD Tests.

Sadly all CRUD tests are currently blocked by
https://bugzilla.redhat.com/show_bug.cgi?id=1084722.
Better representation for a Product via CLI.

Noticed that using the 'csv' output adapter to obtain information for a
given product via Hammer was returning extra information that was
unusable. It also broke several of the automated tests for Products and
Repositories. I have filed a Bugzilla issue but in the meantime I have
decided to add an 'Info' method for Products and tweak the data so that
it returns a proper python dictionary (which should fix the failing
tests).

Here's what the CSV adapter was returning:

```bash
ID,Name,Label,Description,Sync Plan ID,Sync State,Sync Plan ID,GPG,Organization,Readonly,Deletable,Content
27,阄軍萫兏瑆泳厾馃槠硾拻灦孤筂雸諶應榦糱甶,c6bbbe8f-4d9d-42d4-8e87-ddc34764c0b4,<pre>diwTISpSdfYulZdHHiRC</pre>,"",not_synced,"",productContentprovidernamed143b68a-bddb-4463-afcb-70b8132d236elibrary_repositoriesrepository_count0sync_statusuuidparametersfinish_timeuser_id0updated_attask_typeprogresssize_left0total_size0total_count0items_left0organization_ididtask_owner_typetask_owner_idstatenot_syncedcreated_atpending?falseresultstart_timepermissionsdeletabletruesync_plan_idlabelc6bbbe8f-4d9d-42d4-8e87-ddc34764c0b4name阄軍萫兏瑆泳厾馃槠硾拻灦孤筂雸諶應榦糱甶id27updated_at2014-04-06T21:47:53ZorganizationlabelBsEVvO0bxipI0ivJI64vnamedTVfLkUhHIDiwPIQHqRnreadonlyfalsecreated_at2014-04-06T05:39:48Zcp_id1396762787854gpg_keynamefoobarid39gpg_key_id39provider_id169description<pre>diwTISpSdfYulZdHHiRC</pre>,dTVfLkUhHIDiwPIQHqRn,"",true,""
```

and the BASE (default) adapter is what I used:

```bash
ID:           27
Name:         阄軍萫兏瑆泳厾馃槠硾拻灦孤筂雸諶應榦糱甶
Label:        c6bbbe8f-4d9d-42d4-8e87-ddc34764c0b4
Description:  <pre>diwTISpSdfYulZdHHiRC</pre>
Sync Plan ID:
Sync State:   not_synced
Sync Plan ID:
GPG:
    GPG Key ID: 39
    GPG Key:    foobar
Organization: dTVfLkUhHIDiwPIQHqRn
Readonly:     false
Deletable:    true
Content:
```

Here's what the proposed fix does:

```python
In [1]: from robottelo.cli.product import Product

In [2]: Product.info({'id': 27}).stdout

Out[2]:
{u'content': u'',
 u'deletable': u'true',
 u'description': u'<pre>diwTISpSdfYulZdHHiRC</pre>',
 u'gpg': u'',
 u'gpg-key': u'foobar',
 u'gpg-key-id': u'39',
 u'id': u'27',
 u'label': u'c6bbbe8f-4d9d-42d4-8e87-ddc34764c0b4',
 u'name': u'\u9604\u8ecd\u842b\u514f\u7446\u6cf3\u53be\u9983\u69e0\u787e\u62fb\u7066\u5b64\u7b42\u96f8\u8af6\u61c9\u69a6\u7cf1\u7536',
 u'organization': u'dTVfLkUhHIDiwPIQHqRn',
 u'readonly': u'false',
 u'sync-plan-id': u'',
 u'sync-state': u'not_synced'}
```
Fixing failed CLI tests for Repositories.

Repositories support has changed in these last few days so I had to
update the factory method. Tests look ok.
Merge pull request #643 from omaciel/fix-repository-feed

Fixing failed CLI tests for Repositories.
Cannot update existing repo content type.

Just like in the web UI, once a repository is created, you cannot update
the content type, only the url.