Add parsing of task histories
Store task types in the task class

Rather than hard-coding the task types into a matching function, store
the task types with their corresponding task classes, and just loop
through the available task types.
Store the HabitRPG instance with its tasks

When creating a task, store the relevant HabitRPG instance in the task.
This is necessary to be able to initiate API calls from the task
instance.
Rename a Habit's up/down to can_up/can_down

The "up" and "down" properties of a Habit instance indicate whether it
can be scored up or down, so indicate that in the property name.
Add methods to score habits up or down

Given a Habit instance, you can now call Habit.score_up() or
Habit.score_down() for the positive/negative bonuses it gives you.  For
now it returns the API response, which is possibly not the most useful
of things, but we can work on that.