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. I'm a bit confused about the usage of this method. This method sleeps for somewhere between `delay_seconds` and `delay_seconds + 1`, which seems unnecessary. Would it be more straightforward to just call `time.sleep(delay_seconds)`?