Adjust and fix content view code

Make `ContentView.publish` and `ContentViewVersion.promote` return the full JSON
response from the server. Fix existing usages of those methods.

Many usages of those methods are in module `tests.foreman.api.test_contentview`.
Walk through this module and severely update some tests in this module in
addition to fixing existing usages of the aforementioned methods. In particular:

1. Collapse `ContentViewPublishTestCase` and `ContentViewPromoteTestCase` into
   `CVPublishPromoteTestCase`. Fix the `setUpClass` method by changing the
   `self` parameter to `cls`, and make the method generate just specialized
   objects instead of a mix of dicts and specialized objects.
2. Drop the `_publish` and `_promote` private helper functions.
3. Halve the number of test methods, but make each test method more compact and
   thorough.

```
$ nosetests tests/foreman/api/test_contentview.py:CVPublishPromoteTestCase
......
----------------------------------------------------------------------
Ran 6 tests in 786.747s

OK
```