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'.
Would it be more sensible to name these arguments `poll_rate`, `timeout` and `auth`? I know this is a faily minor point, but it'll be easier to change this now than at any other point in time.