Refactor helpers to return unicode strings
Make sure that CLI always deals with unicode.

To make it simpler and safer to use strings via CLI, all data that gets
passed to Paramiko gets encoded to UTF-8 and all data returned from
Paramiko gets decoded to unicode.
Removed print statements.
Fix StringField to aways return unicode strings
Merge pull request #536 from elyezer/unicode-refactor

Fix StringField to aways return unicode strings
Typo
Merge pull request #538 from jhutar/master

Typo
Remove unnecessary if statement
Merge pull request #541 from elyezer/unicode-refactor

Remove unnecessary if statement
Merge pull request #540 from omaciel/unicode-refactor

Unicode refactor
Fixed 2 CLI failures related to lifecycle env.

The CLI ``list`` method for ``lifecycle-environment`` takes 2 arguments
and not a single dictionary.

```bash
======================================================================
ERROR: @Test: Check if an environment can be added to an Org
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 642, in test_add_environment
    new_env = environment.stdout[0]
IndexError: list index out of range

======================================================================
ERROR: @Test: Check if an Environment can be removed from an Org
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 667, in test_remove_environment
    new_env = environment.stdout[0]
IndexError: list index out of range
```

With the proposed fix:

```bash
$ nosetests -c robottelo.properties
tests/cli/test_org.py:TestOrg.test_add_environment tests/cli/test_org.py:TestOrg.test_remove_environment

@Test: Check if an environment can be added to an Org ... ok
@Test: Check if an Environment can be removed from an Org ... ok

----------------------------------------------------------------------
XML: foreman-results.xml
----------------------------------------------------------------------
Ran 2 tests in 48.855s

OK
```
Merge pull request #544 from omaciel/fix-cli-tests

Fixed 2 CLI failures related to lifecycle env.
Organization labels cannot be UTF-8 or Latin1.

Here are the failures:

```bash
======================================================================
ERROR: @test: Create organization with valid unmatching name and label only
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ddt.py", line 110, in wrapper
    return func(self, *args, **kwargs)
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 370, in test_positive_create_3
    new_obj = make_org(test_data)
  File "/home/jenkins/workspace/foreman-compose-cli/robottelo/cli/factory.py", line 394, in make_org
    args.update(create_object(Org, args))
  File "/home/jenkins/workspace/foreman-compose-cli/robottelo/cli/factory.py", line 81, in create_object
    'Failed to create %s with %r data.' % (cli_object.__name__, args))
Exception: Failed to create Org with {'description': None, 'name': u'\u5b82\u619f\u94d8\u86d2\u6592\u6b63\u79b6\u90d5\u8696\u5c0c', 'label': u'\u7b05\u7caf\u7b95\u96f4\u64f6\u92ec\u5253\u7560\u9260\u5fdb'} data.

======================================================================
ERROR: @test: Create organization with valid unmatching name and label only
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ddt.py", line 110, in wrapper
    return func(self, *args, **kwargs)
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 370, in test_positive_create_3
    new_obj = make_org(test_data)
  File "/home/jenkins/workspace/foreman-compose-cli/robottelo/cli/factory.py", line 394, in make_org
    args.update(create_object(Org, args))
  File "/home/jenkins/workspace/foreman-compose-cli/robottelo/cli/factory.py", line 81, in create_object
    'Failed to create %s with %r data.' % (cli_object.__name__, args))
Exception: Failed to create Org with {'description': None, 'name': u'\xdf\xcf\xe8\xc0\xd2\xe3\xd4\xfb\xe4\xdd', 'label': u'\xee\xd1\xc5\xd2\xcc\xfe\xf2\xc5\xe0\xfb'} data.

======================================================================
FAIL: @test: Create organization with valid unmatching name and label only
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ddt.py", line 110, in wrapper
    return func(self, *args, **kwargs)
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 375, in test_positive_create_3
    self.assertEqual(result.return_code, 0, "Failed to create object")
AssertionError: Failed to create object

======================================================================
FAIL: @test: Create organization with valid unmatching name and label only
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ddt.py", line 110, in wrapper
    return func(self, *args, **kwargs)
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 375, in test_positive_create_3
    self.assertEqual(result.return_code, 0, "Failed to create object")
AssertionError: Failed to create object

======================================================================
FAIL: @test: Create organization with valid unmatching name and label only
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ddt.py", line 110, in wrapper
    return func(self, *args, **kwargs)
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 375, in test_positive_create_3
    self.assertEqual(result.return_code, 0, "Failed to create object")
AssertionError: Failed to create object

======================================================================
FAIL: @test: Create organization with valid unmatching name and label only
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ddt.py", line 110, in wrapper
    return func(self, *args, **kwargs)
  File "/home/jenkins/workspace/foreman-compose-cli/tests/cli/test_org.py", line 375, in test_positive_create_3
    self.assertEqual(result.return_code, 0, "Failed to create object")
AssertionError: Failed to create object
```

After proposed fix:

```bash
$ nosetests -c robottelo.properties -m test_positive_create_3 tests/cli/test_org.py

@test: Create organization with valid unmatching name and label only ... ok
@test: Create organization with valid unmatching name and label only ... ok
@test: Create organization with valid unmatching name and label only ... ok
@test: Create organization with valid unmatching name and label only ... ok
@test: Create organization with valid unmatching name and label only ... ok
@test: Create organization with valid unmatching name and label only ... ok

----------------------------------------------------------------------
XML: foreman-results.xml
----------------------------------------------------------------------
Ran 6 tests in 80.026s

OK
```
Redmine issue #4486 is no longer a problem.

```bash
$ nosetests -c robottelo.properties -m test_redmine_4486 tests/cli/test_org.py
@test: Cannot search for an organization by name, only label ... ok
@test: Cannot search for an organization by name, only label ... ok
@test: Cannot search for an organization by name, only label ... ok
@test: Cannot search for an organization by name, only label ... ok
@test: Cannot search for an organization by name, only label ... ok
@test: Cannot search for an organization by name, only label ... ok

----------------------------------------------------------------------
XML: foreman-results.xml
----------------------------------------------------------------------
Ran 6 tests in 78.661s

OK
```
Adds functionality to create Location at login if
necessary
Merge pull request #545 from blrm/location-login

Adds functionality to create Location at login if
Added tests for Bugzilla #1079587.

There is a regression where you cannot search for an organization by its
label. Added DDT tests for it.
More fixes to Org CLI tests.

Some subcommands for ORG CLI have changed so our tests were failing.

```bash
Ran 184 tests in 1918.210s

FAILED (SKIP=85, errors=1, failures=24)
```
Merge pull request #546 from omaciel/more-cli-fixes

More cli fixes
Added CLI test for Bugzilla #1077386.

Added CLI test for Bugzilla #1077386 where the ``list`` subcommand for
``lifecycle-environment`` was raising an error when using the standard
output adapter (Table).

```bash
$ nosetests -c robottelo.properties tests/cli/test_lifecycleenvironment.py:TestLifeCycleEnvironment.test_bugzilla_1077386
2014-03-22 10:16:38 - robottelo - INFO - Paramiko instance prepared (and would be reused): 0x1045044d0
2014-03-22 10:16:42 - root - DEBUG - #1077333 ASSIGNED   - Tomas Strachota - Cannot search lifecycle environment via its name if using UTF-8 characters
2014-03-22 10:16:42 - robottelo - DEBUG - Running test TestLifeCycleEnvironment/test_bugzilla_1077386
2014-03-22 10:16:42 - robottelo - DEBUG - >>> LANG=en_US hammer -v -u admin -p changeme  --output csv organization create --name='vdaq9mpo'
2014-03-22 10:16:46 - robottelo - DEBUG - <<< [u'Message,Id,Name', u'Organization created,554,vdaq9mpo', u'']
2014-03-22 10:16:46 - robottelo - DEBUG - >>> LANG=en_US hammer -v -u admin -p changeme  --output csv organization info --id='554'
2014-03-22 10:16:48 - robottelo - DEBUG - <<< [u'Id,Name,Created at,Updated at,Label,Description', u'554,vdaq9mpo,2014/03/22 14:16:42,2014/03/22 14:16:42,vdaq9mpo,""', u'']
2014-03-22 10:16:54 - robottelo - DEBUG - >>> LANG=en_US hammer -v -u admin -p changeme  lifecycle-environment list --organization-id="vdaq9mpo"
2014-03-22 10:16:55 - robottelo - DEBUG - <<< [u'----|---------|------', u'ID  | NAME    | PRIOR', u'----|---------|------', u'623 | Library |      ', u'----|---------|------', u'']
.
----------------------------------------------------------------------
Ran 1 test in 13.162s

OK
```

The BZ has been closed as VERIFIED.