Made Progress More Robust

Watch for division by zero errors and report correctly.
Refactor Hour Counting for User

The user object can report total hours using a given context. For example if you
pass a sprint as a parameter to usr.totalHours(sprt) it will return the total number
of hours assigned for the usr in the given sprint sprt. It is aware of sprint
and user story contexts.

If it doesn't reconzize the context or none is given the total for the user
across all sprints and user stories is return.
Context Aware Point Accumlation for Users

The totalPoints method allows queries for story points assoicated to the user to
calculated with/without a given context. If a sprint is passed the total story
points associated to the user in the sprint is returned. If no context is
supplied the total of all user stories the user is a member of is returned.