Add user ID flexibility

* As per a suggestion of @JustinAiken in #56, allow either a user object or an ID to be passed to `Rollout#activate_user` and `Rollout#deactivate_user`.
* Rollout now accepts a user_id_by setting, which is the name of the method that should be called by user to id itself. This allows you to ID users by email, IP address, or whatever else you may want to ID them by.
* This approach relies on Rollout doing the user ID translation, while Rollout::Feature instance methods either accept an  `user_id` or `user` object and facilitate building and serializing features for Rollout.