Reimplement percent strategy

The original Trebuchet percent strategy was not good for independent feature analysis because it tended to cluster percent launches for features to the same subsets of users.

This new strategy is better because it computes a hash of the feature name along with the identifying user or visitor id and therefore distributes features randomly across their domains. This makes it more likely that the results of analysis for individual features are not biased by other features that were enabled with the percent strategy at the same time.

Note that I exliminated the :to / :from options from the percent strategy since they are no longer as useful with the new implementation and seemed like interface bloat.

Testing:
Re-ran specs and implemented new specs for the new percent strategy

@mcharkov I am just merging this into master. You have already seen it.