janitor: standard .gitignore for obvious files
dup_yyval should not assume inner structure of "ParserVal" class - use copy-constructor
(it would be the first time it does so).

Background: I use a custom "ParserVal" class for semantic values. Last time I used byacc/J
was 1.12 and the generated parser did not access the fields at all.

Now, with 1.15 there is a dup_yyval() method that creates a shallow copy of its argument.

This patch changes dup_yyval to use a copy-constructor, that basically reads:

public ParserVal(ParserVal other) {
    if (other != null) {
        this.ival = other.ival;
        // etc ...
    }
}

Note: In my particular parser, the "other" argument can be null - handle this in the
constructor.