Handle functions which are a substring of their return value

The function parsing regex did not take into account functions which may
be of the type

    GIT_EXTERN(git_some_type_t) git_some(void)

and it would split git_some_type_t in the middle, thinking it had
reached the function name. Force the name to be adjacent to an opening
parenthesis in order to work around this.
Bump version to 0.3.1