add RepParsers.scala

- add rep, rep1, repN, opt, repsep and repsep1 combinators
- combineresults now combine results in the form (((x1,x2),x3),x4) instead of (x1,x2,x3,x4)