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
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