Revert to using single-char property search

Revert to `next-single-char-property-change' and
`previous-single-char-property-change' as these consider property
changes in overlays as well.
Fix typo in function name
Refactor to loop over an alist of properties
Make chapters level two and sections level three sections
Deal with point positions where no section is defined

like at point-min or point-max.