Improve requests wrapper

Make the client does not set the content-type header when doing file
uploads.
Does not call json.dumps if data is None. None means that does not want
to send any data, but if the dumps is called it will be converted to
equivalent null on JavaScript and this make Satellite server break.
Now tests can use decorators to run/skip tests basead on server modes:
- runIf('sam') - runs only on sam server
- runIf('sat') - runs only on sat server
- no decoractor - runs on all server modes

Updated decorators.py to accept only sat or sam
fixed indentation to make flake8 happy
Added more checks for sat and sam input values
Updates to decorators.py
More updates/comments to decorators.py to make it easy to read
Updated properties file
Merge pull request #1370 from sthirugn/samtest

Initial proposal to differentiate sam only and sat only tests
Merge pull request #1371 from elyezer/api-client-improvements

Improve requests wrapper
Updated usergroup tests to use api for user create and added few -ve tests
Fix some sphinx warnings

Do not include non-existent modules in the API documentation. Allow the word
"list" to be used as a data type.
Merge pull request #1380 from Ichimonji10/sphinx

Fix some sphinx warnings
Merge pull request #1369 from sghai/user-group-tests

Updated usergroup tests to use api for user create and added few -ve tests
Silence a Sphinx warning. Properly format a list.
Fix CLI tests

Update TEMPLATE_TYPES constant with the values returned by
api/v2/template_kinds.
Better check promotion of a content view version on test_cv_promote_rh
Apply lower before checking for a domain's parameter name on
test_positive_set_parameter to match what satellite saves on db
Use robottelo's data decorator on cli test_domain module.
Merge pull request #1383 from Ichimonji10/sphinx

Silence a Sphinx warning. Properly format a list.
Merge pull request #1384 from elyezer/cli-tests-fixes

Fix CLI tests
1. Added robottelo tests for run_only_on decorator
2. Optimized the code with the fixes after review comments
Port "old" API tests for content views

Make module `test_contentview_v2` accomplish most of what module
`test_contentview` formerly accomplished. Module `test_contentview` is still in
place:

* Not all tests in that module have been implemented, so they are untouched.
* Some tests in this module do not test content views, so they should be ported
  into somewhere other than `test_contentview_v2`.
Merge pull request #1372 from Ichimonji10/test-contentview-v2

Port "old" API tests for content views
Merge pull request #1385 from sthirugn/decoratortest

Added robottelo tests for run_only_on decorator
Make this work on RHEL6
Merge pull request #1388 from jhutar/master

Make this work on RHEL6
Added try/except around cli utils in test_contentview because make_content_view throws CLIFactoryError on error, so it is not necessary to use info to verify if content view was really created, because in that case exception would already have been thrown.
Merge pull request #1350 from AdamSaleh/contentview_rh

Added try/except around cli utils in test_contentview