Forced test matches to be on the whole string

This prevents the misleading passes I was getting before, like:
/a|b/.examples = ["ab"]
Fixed backreference bug: Capture group with repeaters

Previously, if a backreference group contained "multiple results", e.g.
/(a*)\1/, then only the LAST result was used to substitute in the
backreference.
Now, an array of results is stored, so the backreference placeholder
gets overwritten by this array.
Simplified code, with Regexp#source

/foobar/.source #=> "foobar"