Move importance functionality to separate module.
Add new importance value, taking importance of parents into account.

The importance of a task is calculated based on the average of the
importance values of all ancestors of that task (including its own
importance value).

The idea is that when a low-priority task is a subtask of a
high-priority task, it deserves a higher importance.

However, the averaged importance is only used when it causes an increase
of the importance of a task. So, the importance is never lowered because
a task happens to be a subtask of low-priority tasks.

The name of the new sort fields are

* importance-average
* importance-average-no-wknd