Add a ForemanTask entity

Additinally, override method `ForemanTask.path` and add some tests for this
custom behaviour.
Partially flesh out entity ForemanTask

Add the following methods:

1. ForemanTask.path
2. ForemanTask.get_result_or_timeout

The former should be fully implemented, but the latter has only pseudocode.
Neither is tested.
Implemented code for `entities.Tasks.poll`.

Implemented the code that allows you to poll the status for an aysnc
task (such as a repository synchronization for example). The method
'polls' for the status of the task and returns it once it is no longer
running (`'pending'` == False) or it will raise an exception if we go
beyond the 'timeout'.
Silencing Travis due to E501.
Handling several comments and suggestions.
Merge pull request #1208 from omaciel/tasks-api

Tasks api