Tasks api

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'.
Hmm. Shouldn't we be polling/waiting while the task is still pending? In other words, would this make more sense?

```python
while(task_status['pending'] == True or time.time() < timeout):
```