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
Can we drop this function or move it to test module where it's used? I'd really like to make the code in this module map closely to what the API provides. That is, it'd be ideal if there's one method per "verb-noun" combo. That is, one method for GET /foo, a second method for PUT /foo, etc.