Return (new) leaf node from add_path()
Add tests to understand API
PEP 8 compliance changes
Support all "project" formats.

Fixes hwine/python-taskpaper/#1 on github
The TaskPaper app considers projects to be any line which:
 - does not start with '-', and
 - has a last non-tag character of ':'
when leading white space is considered part of the tag
Tests check for all variants of project syntax

These tests trigger the github issue hwine/python-taskpaper/#1

(Tests added after fix, so future bisecting always works.)
Merge improvements by Hal Wine

Taken from master branch from https://github.com/hwine/python-taskpaper.git