mbleigh/acts-as-taggable-on — pull request #492 by leo-souza (2014-03-15 14:16:02+00:00)
Title: 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
#, #, #]>

Post.tagged_with('ruby')
#, #]>
Post.tagged_with('Ruby')
#, #]>
Post.tagged_with('ábaco')
#
Post.tagged_with('Ábaco')
#
```
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.