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'}
```
Add back the __init__ for UI base class
Merge pull request #646 from elyezer/fix-ui-classes-inheritance

Add back the __init__ for UI base class
Merge pull request #641 from omaciel/system-groups-cli

Adding CLI support for Systems and CRUD Tests.
Merge pull request #642 from omaciel/better-product-info

Better representation for a Product via CLI.
Added escape_search for the common search_entity func
Added escape_search to repository search
added support for repo_discovery
Merge pull request #648 from sghai/repodiscovery

added support for repo_discovery and two tests
Merge pull request #647 from kbidarkar/prd-tests

Added escape_search for the common search_entity func
Merge pull request #645 from tkolhar/master

Added ddt tests for Medium
Do not raise exception for Product info.

If a product information cannot be found, do not raise an exception.
This will fix the 7 current CLI failures seen on Jenkins.
Merge pull request #652 from omaciel/fix-info-product

Do not raise exception for Product info.