Removed the temp work around from subnet module
updated all tests with bz decorator
Fixed OS tests to assert after updating its diff entities
Improve code style aka PEP8
Merge pull request #576 from elyezer/pep8-improvements

Improve code style aka PEP8
Added new make_product method to factory.py.

Added a new make_product method to handle CLI tests.
Remove empty "" from standard CLI output.

When a field does not have any data, hammer cli returns an empty ""
which then gets converted to u'""'. Trying to assert if a field is None
or if its length is equal to zero was failing, so now I replace '""'
with ''.
Adding CLI tests for Products.

This handles Issue #182 and adds CL CRUD tests for hammer product command.
Added more CLI tests for Products.

Added CRUD CLI tests for products. This closes issue #182.

```bash
$ nosetests -c robottelo.properties tests/cli/test_product.py
2014-03-26 16:32:27 - robottelo - INFO - Paramiko instance prepared (and would be reused): 0x1026b4150
@Test: Check that only valid names can be used ... ok
@Test: Check that only valid names can be used ... ok
@Test: Check that only valid names can be used ... ok
@Test: Check that only valid names can be used ... ok
@Test: Check that only valid names can be used ... ok
@Test: Check that only valid names can be used ... ok
@Test: Check that only valid labels can be used ... ok
@Test: Check that only valid labels can be used ... ok
@Test: Check that only valid labels can be used ... ok
@Test: Check if product can be created with random names ... ok
@Test: Check if product can be created with random names ... ok
@Test: Check if product can be created with random names ... ok
@Test: Check if product can be created with random names ... ok
@Test: Check if product can be created with random names ... ok
@Test: Check if product can be created with random names ... ok
@Test: Check if product can be created with random labels ... ok
@Test: Check if product can be created with random labels ... ok
@Test: Check if product can be created with random labels ... ok
@Test: Check if product can be created with random labels ... ok
@Test: Check if product can be created with random labels ... ok
@Test: Check if product can be created with random labels ... ok
@Test: Check if product can be created with random description ... ok
@Test: Check if product can be created with random description ... ok
@Test: Check if product can be created with random description ... ok
@Test: Check if product can be created with random description ... ok
@Test: Check if product can be created with random description ... ok
@Test: Check if product can be created with random description ... ok
@Test: Check if product can be created with gpg key ... ok
@Test: Check if product can be created with gpg key ... ok
@Test: Check if product can be created with gpg key ... ok
@Test: Check if product can be created with gpg key ... ok
@Test: Check if product can be created with gpg key ... ok
@Test: Check if product can be created with gpg key ... ok
@Test: Check if product can be created with sync plan ... SKIP: Test not implemented
@Test: Check if product can be created with sync plan ... SKIP: Test not implemented
@Test: Check if product can be created with sync plan ... SKIP: Test not implemented
@Test: Check if product can be created with sync plan ... SKIP: Test not implemented
@Test: Check if product can be created with sync plan ... SKIP: Test not implemented
@Test: Check if product can be created with sync plan ... SKIP: Test not implemented
@Test: Check if product can be deleted ... ok
@Test: Check if product can be deleted ... ok
@Test: Check if product can be deleted ... ok
@Test: Check if product can be deleted ... ok
@Test: Check if product can be deleted ... ok
@Test: Check if product can be deleted ... ok
@Test: Update the description of a product ... ok
@Test: Update the description of a product ... ok
@Test: Update the description of a product ... ok
@Test: Update the description of a product ... ok
@Test: Update the description of a product ... ok
@Test: Update the description of a product ... ok
@Test: Update the label of a product ... ok
@Test: Update the label of a product ... ok
@Test: Update the label of a product ... ok
@Test: Update the label of a product ... ok
@Test: Update the label of a product ... ok
@Test: Update the label of a product ... ok
@Test: Update product's gpg keys ... ok
@Test: Update product's gpg keys ... ok
@Test: Update product's gpg keys ... ok
@Test: Update product's gpg keys ... ok
@Test: Update product's gpg keys ... ok
@Test: Update product's gpg keys ... ok
@Test: Update product's sync plan ... SKIP: Test not implemented
@Test: Update product's sync plan ... SKIP: Test not implemented
@Test: Update product's sync plan ... SKIP: Test not implemented
@Test: Update product's sync plan ... SKIP: Test not implemented
@Test: Update product's sync plan ... SKIP: Test not implemented
@Test: Update product's sync plan ... SKIP: Test not implemented

----------------------------------------------------------------------
XML: foreman-results.xml
----------------------------------------------------------------------
Ran 69 tests in 881.441s

OK (SKIP=12)
```
More assertions for gpg update tests.

Added assertions to test where multiple gpg keys are created and a
product is updated to include one or the other.
Merge pull request #571 from sghai/ak-tests

ak- blocked tests with bz decorator
Merge branch 'master' into rm-subnet-hack

Conflicts:
	robottelo/ui/subnet.py
created a fn 'get_selected_entities' to avoid duplication
Merge pull request #579 from omaciel/add-products-cli

Added CRUD CLI tests for products. This closes issue #182.
Merge pull request #572 from kbidarkar/rm-subnet-hack

Removed the temp work around from subnet module
updated fn name and updated exception under else part
Fix import to make api tests green again
Merge pull request #585 from elyezer/fix-api-tests

Fix import to make api tests green again
Change syntax of list comprehension to work on RHEL 6 (Python 2.6)
Fixed unittest module incompatibility with Python 2.6