test to create a filter
test to create a filter
Slightly clean up and flesh out an API test
resolved conflicts
Make System().create() work

When `System().create()` is called, it fails with the following error messages:

* `u'facts': [u"can't be blank"]`
* `u'cp_type': [u'is not included in the list']`

Update the `System` entity so that these errors are no longer encountered. To
fix these errors, the make the following fixes:

* By default, set `System.facts` to `{'uname.machine': 'unknown'}`.
* By default, set `System.type_` to 'system'.

Also:

* Add attribute `System.uuid` and override the default implementation of
  `System.path` to use a system's UUID instead of ID for identification.
* Alphabetically reorder `System`'s attributes.
* Remove the set of comments from `System`. These comments can be dangerous, as
  they can become outdated relative to the official API docs. (Note that this
  was the case with the `System.type` attribute.)
* Rename `System.system_type` to `System.type`. This is done so that the
  `System` entity can map as closely as possible to what the server is
  expecting.
Test the System entity

Add the `System` entity to module `tests.foreman.api.test_multiple_paths`.
Systems cannot be fully tested by this module, though, as the module expects
each entity to be uniquely identified by an ID, and a system is uniquely
identified by a UUID. Add module `tests.foreman.api.test_system_v2`, which makes
use of system UUIDs in its tests. For more details, see the docstring in module
`test_system_v2`.

Test method `System.path`.
Merge pull request #1218 from Ichimonji10/system-entity

Make System().create() work
tests on roles and permissions
Merge pull request #1222 from sghai/perm

Roles and permissions tests using filters
Add feature to run UI in headless mode

By configuring virtual_display=1 in properties file, robottelo will use
a virtual display to run UI tests using PyVirtualDisplay package and
Xvfb.
Merge pull request #1223 from elyezer/virtual-display

Add feature to run UI in headless mode
Fix script for graphing entities

PR #1220 simplified the implementation of the `OneToOneField` and
`OneToManyField` classes. Both classes now record which kind of entity they
point to in the instance variable "entity". Formerly, only the `OneToManyField`
did this, and the `OneToOneField` used a variable named "model".

Fix `scripts/graph_entities.py` to deal with this change.
Merge pull request #1226 from Ichimonji10/graph-entities

Fix script for graphing entities
When making API calls, provide "data" not "params"

Then using the requests library (or our wrapper), one can provide the "data" and
"params" arguments. The "data" arguments can be encoded (e.g. as JSON), but the
"params" arguments are encoded directly in a URL.

When communicating with the API, it is sensible to provide all arguments through
a single channel. This change ensures that, whenever possible, all arguments are
passed to the API as JSON-encoded data.
Merge pull request #1227 from Ichimonji10/request-data

When making API calls, provide "data" not "params"
Fix a variety of Sphinx errors

Fix incorrectly delimited code blocks and class references. Nothing special.
Merge pull request #1229 from Ichimonji10/sphinx

Fix a variety of Sphinx errors