Return undef instead of 0 when a non-boolean value is expected.

Returning 0 could break TodoTxt::parseDate. Previously it happily ate undefs, but now it got a 0 it choked.