Expand macro arguments before performing argument substitution.

As required by the C99 specification of the preprocessor.

With this fix, tests 33 through 36 now pass.
diff --git a/glcpp-parse.y b/glcpp-parse.y
index e25cfa9..3b736f8 100644
--- a/glcpp-parse.y
+++ b/glcpp-parse.y
@@ -854,10 +854,11 @@
 			token_list_t *argument;
 			argument = _argument_list_member_at (arguments,
 							     parameter_index);
-			for (j = argument->head; j; j = j->next)
-			{
-				_token_list_append (substituted, j->token);
-			}
+			/* Before substituting, we expand the argument
+			 * tokens. */
+			_glcpp_parser_expand_token_list_onto (parser,
+							      argument,
+							      substituted);
 		} else {
 			_token_list_append (substituted, i->token);
 		}