Implemented a priority for the inline stack and moved link parsing to the stack.

See https://github.com/jgm/CommonMark/issues/166 for details on why this
is needed.
Return null instead of an empty string inline.
Performance improvement by not creating new array every time.
Limit the maximum length of a reference definition. Use StringPart instead of Substring for reference label parsing.
Merged priority-stack into master