Use `taskw`'s new marshalling functionality in bugwarrior

* Rely upon `taskw.task.Task`'s journal for calculating changes.
* Simplifying tag and annotation handling such that it relies upon aforementioned journal.
* Updating UDA handling to match recent changes to Taskwarrior.
* Moving hook-handling into its own function.