Improved rules for emphasis and strong emphasis.

This improves parsing of emphasis around punctuation.

Background:
http://talk.commonmark.org/t/emphasis-inside-strong-broken-in-js-implementation-when-parenthesis-involved/903/6

The basic idea of the change is that if the delimiter is part of
a delimiter clump that has punctuation to the left and a normal
character (non-space, non-punctuation) to the right, it can only
be an opener.  If it has punctuation to the right and a normal
character (non-space, non-punctuation) to the left, it can only be a closer.

This handles cases like

    **Gomphocarpus (*Gomphocarpus physocarpus*, syn. *Asclepias
    physocarpa*)**

and

    **foo "*bar*" foo**

better than before.

The spec section on Emphasis and Strong Emphasis has been extensively
revised.  The C and JS implementations have been brought up to date,
and all tests pass.