RepositorySet-API: Added the functionality to enable RedHat Repos.

Added `list_rhproducts` function to list all the RedHat Products
in a given Organization.

RH Products have varying Id's depending upon various other custom
products, hence we use the product name which is a static value
to fetch the RH Product's ID in `fetch_rhproduct_id` function.

RH Reposets too have varying ID's hence we use reposet name which
is a static value to fetch the RH Reposet's ID in `fetch_reposet_id`
functio.

Also RH Repositories first need to be enabled , so that they can be
synced.
`enable_repo` and `disable_repo` functions requires the
`reposet_id`, `basearch` and `releasever` to enable, disable the
repositories.

Updated the functions to use search and params.

The `fetch_rhproduct_id` now uses search to fetch the `prd_id`.
Also this function uses `escape_search` function while searching.

The `fetch_rhreposet_id` now specifies the name of
the reposet to fetch the `reposet_id` information.

Added functionality to fetch the repo_id and updated docstrings.

Added `fetch_repoid` function to fetch the RedHat repo_id.

Updated the docstrings for the `path` functions in `Organization`
and `Products` class.

Some minor fixes related to docstrings and sphinx.

Fixed many miscellaneous issues
Merge pull request #1416 from kbidarkar/repositoryset-support-api

RepositorySet-API: Added the functionality to enable RedHat Repos.
Port old API tests for repositories

Completely rewrite existing tests in module `test_repository_v2`. Make them more
terse, efficent and thorough. Drop module `test_repository`, as the "v2" module
now performs its responsibilities.