* Update to the expanding testing from elsewhere

 * Fixes #5
   * Do not add the same item multiple times
   * Do not add the tasks in an array multiple times
   * Adds a flag to insert an item or the items in an array multiple times

BREAKING CHANGE: This includes a breaking change by requiring the multiple flag to be set to allow multiple items. I believe this is the intention most people would use as running the same grunt task multiple times is rarely done but having the registerTask called multiple times as a precaution to make sure it is there is done quite often. I don't think people would expect that to insert it multiple times.
Use `this.gf` for values we need to generate in a `beforeEach`. Mostly to stay consistent with the current style, I'm not sure there's lot of real world advantages to do so (except from being sure there's no low risk variable pollution)