Fix parsing of default values and display them in default formatter

* semantic/bovine/c.by (variablearg, varnamelist): Add default values
  so that it can be later expanded into the tag.
  (opt-stuff-after-symbol): Rename to 'brackets-after-symbol' and
  remove empty match.
  (multi-stage-dereference): Adapt to above rename.
  (unaryexpression): Use 'symbol' instead of 'namespace-symbol', since
  the latter also leads to an empty match at the end which would make
  this too greedy.

* semantic/format.el (semantic-format-tag-prototype-default):
  Display default values if available.

* semantic/tests/test-fmt.cpp: Add default values.

Parsing of default values for variables and function arguments was
broken with the refactoring done in rev. 7622.  While fixing this, it
turned out that our parser for expressions like

  char *foo = NULL;

was too greedy and also covered the semicolon because of empty matches
in rules 'opt-stuff-after-symbol' and 'opt-template-specifier',
leading to a variable with a default-value of "NULL;". This was fixed
by removing the empty match in 'opt-stuff-after-symbol' and using
'symbol' instead of 'namespace-symbol'.
Merge branch 'master' into devel