fix a bunch of movement bugs

All the movement mappings eventually call into md#move#{up,down}ToLevel
which moves the cursor to the nearest line matching a specified level,
returning the cursor to the original position if no match is found.
Some of the callers were expecting exact level matching semantics, while
others were expecting at least level matching semantics.

This patch adds the "exactMatchOnly" argument to these functions.
remove list item folding

Folding of nested list items turned out to be much more annoying than I
thought it would. This patch removes that feature.
remove checklist feature

The checklist feature created a number of problems (custom export logic,
ugly code) and was conceptually unecessary given the customizable todo
feature.

This patch removes that feature.
add todo state aggregation and parent updates

When updating a heading's todo state, the parent's todo state should be
updated to reflect the update.
reorder functions in file