Special abilities provider

* refactor method name for percentile result providers
* add more tests for special ability generator
* get the special ability provider in and tested