title: Rolify remove_role deletes from role table?
body: <p>This is strange.  I'm using Rolify + CanCan + Devise in my rails 3.2 app.  My use case is simple.  I want a user to have only one role at a time, thus to change a role, I do something like this:</p>
  
  <pre><code>user.remove_role "admin"
  user.add_role "associate"
  </code></pre>
  
  <p>The strange thing to me is that when I do this, the role "admin" gets deleted from the Roles table.  Why would this be?  I don't want to eliminate the role entirely, just a given role from the user.  What am I doing wrong?</p>
  
  <p>Here's the SQL.  Notice the last delete from roles statement:</p>
  
  <pre><code>3] pry(main)&gt; u.remove_role "sub_admin"
    Role Load (0.1ms)  SELECT "roles".* FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = 2 AND "roles"."name" = 'sub_admin'
     (0.0ms)  begin transaction
     (0.3ms)  DELETE FROM "users_roles" WHERE "users_roles"."user_id" = 2 AND "users_roles"."role_id" IN (2)
     (1.9ms)  commit transaction
    User Load (0.1ms)  SELECT "users".* FROM "users" INNER JOIN "users_roles" ON "users"."id" = "users_roles"."user_id" WHERE "users_roles"."role_id" = 2
     (0.0ms)  begin transaction
    SQL (2.1ms)  DELETE FROM "roles" WHERE "roles"."id" = ?  [["id", 2]]
     (0.6ms)  commit transaction
  </code></pre>