Improve code fragment matching

thing-at-point-looking-at does not work well with markdown-regex-code,
because of the possibility of overlapping matches, so we use our own
predicate markdown-code-at-point-p.

Includes unit tests of markdown-code-at-point-p and
markdown-kill-thing-at-point.
Reverse cycle command should be declated interactive