Bug fix: We were trying to take a substring that didn't exist.

This was only discovered when run using an old version of gcc
$ gcc --version
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)

c.f.
$ gcc --version
gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)

Looks like bug is actually with the extractValue tempalte function
and how it handles empty strings that are passed to it. This bug
was introduced in commit e9cc2aeb.

Have also tidied up the logic that 'cleans' the substring before
values are extracted.
For clarity, as the variable is a bool, used true/false rather than 1/0.
Add a section to the TODO file for issues that aren't quite bugs but do need to be looked into/fixed.

Also,as it's a plain text file try and stick to a 'normal' line limit.