Rewrite todo parsing

* Comply with github gist markdown todo format "- [ ] title"
* Use parameter expansion and string fields in todo parsing pipeline