Adjust Completion Ratio

When summing hours for completion ratios the algorithm uses the completed_hours
value as a base value. When tasks are completed, this value is not adjusted
resulting in the default value of 0. The sum of the total completed hours would
return 0 over total hours, resulting in a ratio of 0.

This is re factored to use predicted hours instead. This allows the ratio to
adjust according to task size.

Fixes #38
Add current sprint association for project

Projects now have a property that contains the current sprint. This is persisted
from run to run.
Sort GetAllSubtasks by completion

A pythonic attempt to sort a list of tasks by completion.

Fixes #39