Added a function `enable_rhrepo_and_fetch_repoid` and few fixes.

Added `enable_rhrepo_and_fetch_repoid` function, to group many
steps required for syncing RedHat Repos.

The `sync` function under `Repository` Class now returns a task_id.

Added and Fixed many docstrings.

Updated the import related to cloning manifests.

Added test related to syncing RedHat Repository

Few fixes after Repository.sync returns task_id
It's very weird to call a method on `Organization` and get a product ID back. I believe it's possible to get the same information by talking to the `products` API path. This isn't a blocker, but I'd like to see this issue addressed at some point.