Silence a Clang warning about use of an uninitialized variable

  parser.c:350:14: warning: variable 'dest' is used uninitialized whenever 'if' condition is false
      else if ((src[0] & 0xf8) == 0xf0)
              ^~~~~~~~~~~~~~~~~~~~~~~
  parser.c:375:12: note: uninitialized use occurs here
      return dest;
            ^~~~
  parser.c:350:10: note: remove the 'if' if its condition is always true
      else if ((src[0] & 0xf8) == 0xf0)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  parser.c:307:18: note: initialize the variable 'dest' to silence this warning
      uint32_t dest;
                  ^
                    = 0

In this case the warning is spurious (the `else` branch raises an
exception, so it is not possible for `dest` to be used unuinitialized).
But Clang doesn't know that, so keep it happy by initializing the
variable every time.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Make it easier to set a link_proc

In addition to being able to set a link_proc at parse time, make it
possible to do so at or after initialization as well.

This will be useful in the Rails context:

  Wikitext::Parser.shared_parser.link_proc = ...

See also:

  https://wincent.com/issues/2061

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Prepare for 3.1 release

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Bump version number post-release

Signed-off-by: Wincent Colaiuta <win@wincent.com>