Adds debug output of equality test differences.

Now reports differences between comparable properties being examined for
an equality comparison to the debug level of the default logger for the
application.
Cleans up test cases and supporting classes.

Drops the entity type from the automagically generated entity IDs of the
TestDataTask-type entities. The intended result is to make IDs shorter
and easier to read, as well as more useful across test cases and
entities. 

Updates TestDataEntitySupport.short_title_to_id drop the
entity class argument. Adds
TestDataEntitySupport.combine_short_title_sections to provide a
convenient way to join title sections.

Updates test data entity IDs in test cases where appropriate.

Updates TaskDataTestSupport methods for creating task data in order to
make them more reusable between test cases. Test task data will also now
default to using the update date ignored entities.

Updates all TaskTree test cases that work on an already populated tree
to reduce redundancies in test fixture creation code. Standardizes the
names of the test TaskTree fixtures so that each test case uses the same
pair of names: baseline (or "expected") and working (or "actual").
Refactors test cases to reduce redundant fixture creation code.

Refactors the test cases to continue the work done in
coggrinder.entities.tasktree and task modules, removing the entity class
name from the IDs of test task data.

Updates the fixture creation code to allow the test cases that rely on a
populated TaskTree to share common fixture creation code.

Updates entity IDs in tests where needed.
Removes TaskListTree.

Removes unused class TaskListTree, and it's supporting test case, from
the coggrinder.gui.task_treestore module. 
Updates task tree icons to be created only once.

Updates the icons used by TaskTreeStoreNode to display the task tree
items so that they are class variables rather than member variables.
This allows them to be created once during an app's lifetime, rather
than for each tree item that is created.
Removes unused children property.

This property is intended to be replaced by the actively used children
property derived from TreeNode.
Removes init argument type checking assertions.

Removes unnecessary init argument type checking assertions. These are
being removed because they aren't "Pythonic" enough, and their presence
could hamper future instances where duck typing could be beneficial.

Updates the handling of the updated_date property, giving using the
current time by default if an update date is not specified.
Removes unused has_siblings Tree property.

Removes the unused property has_siblings from Tree. Removes two tests of
the property, which seem to be the only time the property is ever
referenced in this project.
Removes unused TaskDataSorter class.

Removes the TaskDataSorter class and supporting test case because the
class is apparently no longer used.
Adds handling for AttributeErrors during equality comparisons.

Adds handling for AttributeErrors that arise during equality
comparisons. These errors are now caught, and the objects are determined
to be inequal.
Refactors task data entities to be TreeNodes.

Makes significant revisions to the architecture of the task data
entities (Task, TaskList, and their descendants) by converting those
classes into subclasses of TreeNode. Instead of the task data entities
being held by TreeNodes in their value property, those entities are
themselves now what comprises a TaskTree. This change was made after too
many difficulties were encountered in trying to analyze and manage
intra-Task (and to a lesser extend, TaskList) relationships. 

Updates Tree to be a direct descendant of TreeNode, giving it path and
children property implementations. Making Tree a TreeNode simplifies
managing the direct children of TaskTrees (TaskLists).

Changes other modules and classes outside of task and tree to use the
new task data architecture.

Added tests to cover new use cases arising from the refactor, and
disabled (unittest.skip) many existing test as they now appear to be
deprecated and no longer necessary. These will be removed as the project
moves forward towards a first release and it becomes clear that the
tests are no longer necessary.

Updates the GoogleTaskService get_tasks_in_tasklist to reflect a real
response from a Google Task Service request, which should improve test
validity and relevance.