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'.
It is 

```
while(task_status['pending'] == True and time.time() < timeout):
```
You want to have it polling only while there is still time AND the task is still running :)