Fix downcasing of unicode tag names

I ran into some issues when a tag name contains upcased unicode chars. 
It happens in both creation and retrieving: 
- It doesn't find the previous tag when a second tag is being created and duplicates it. 
- When ```tagged_with``` is called, it returns an empty array, even when calling with the exact tag name.
Examples:
```ruby
Post.create(title: 'First', tag_list: 'Ruby')
Post.create(title: 'Second', tag_list: 'ruby')
Post.create(title: 'Third', tag_list: 'Ábaco')
Post.create(title: 'Fourth', tag_list: 'ábaco')
ActsAsTaggableOn::Tag.all
#<ActiveRecord::Relation [
  #<ActsAsTaggableOn::Tag id: 1, name: "Ruby">, 
  #<ActsAsTaggableOn::Tag id: 2, name: "Ábaco">, 
  #<ActsAsTaggableOn::Tag id: 3, name: "ábaco">]>

Post.tagged_with('ruby')
#<ActiveRecord::Relation [
  #<Post id: 1, title: "First", body: nil>,
  #<Post id: 2, title: "Second", body: nil>]>
Post.tagged_with('Ruby')
 #<ActiveRecord::Relation [
  #<Post id: 1, title: "First", body: nil>,
  #<Post id: 2, title: "Second", body: nil>]>
Post.tagged_with('ábaco')
#<ActiveRecord::Relation []>
Post.tagged_with('Ábaco')
#<ActiveRecord::Relation []>
``` 
This behaviour was introduced when ```.force_encoding('BINARY')``` was added in ```Tag``` class, which was being called before downcasing the string

When sqlite is being used, the only way around this is loading the ICU extension.

PR #472 only fixes the tagged_with part of this issue.