Fix issues in macro plugin regex

A quick summary of fixes:
 * macro handles several optional arguments
 * both double quotes and single quotes are valid
 * the whole macro must have valid syntax
 * handle ] character correctly
 * whitespace is valid in some new places
Fix regex for macros without arguments

The previous regex version required that there is a whitespace
after macro name, thus making [macro] invalid. Now this version
requires that there is whitespace before each argument pair in the
optional argument list. Thus, empty list requires no whitespace.
Enable inline macros and multiple macros on a line

Without this, the new macro regex would only match lines without
anything else (not even extra whitespace). Now it is possible to
write in Markdown:

some text [macro] more text [macro] even more text
Handle errors in macro plugin optional arguments

A user may provide an invalid value:
[article_list depth:two]
Or an incorrect argument name:
[article_list dehtp:3]
Both of these cases were handled badly previously. This fix handles
errors by showing the macro syntax without trying to render it to
HTML.
Merge pull request #336 from jluttine/fix-macro-regex

Fix issues in macro plugin regex