Changed Target to use sets.
Setified the code.

For file lists order is generally irrelevant and duplicates are meaninless.  So
I switched all uses where these hold true to sets.
Added gitignore and yardopts.