Use database's lower function and unicode downcase for multibyte tag names
Add tests for languages without capitalization
Merge pull request #498 from leo-souza/master

Use database's lower function for case-insensitive match
add indexes to schema.rb so they will be available in specs
adding using_mysql? to utils so we have a quiz method for each db type.  Also added a quiz method for case insensitive collation.  Its important to know when testing case sensitivity.
adjusted specs to account for the unique index on tag.name.

Some case sensitive specs are not able to run on mysql because the default is case insensitive collation.  This combined with a unique index makes adding tags Awesome and awesome impossible because the database sees them as the same thing.  To make some of the case sensitive spec pass on mysql, I had to remove the index just for those specs.  I added a shared_example that is included where needed.
Merge pull request #474 from LessonPlanet/add-indexes-to-schema-for-specs

Add indexes to schema for specs
fix for race condition when multiple processes try to add the same tag
Address code review comments

- Raising the exception from save_tags is better than catching all exceptions.  The client can retry the save on duplicate error.
- add `extend self` to ActsAsTaggableOn::Utils so module functions can be called directly
compare errors to empty array so it is easier to determine what failed on CI if there is an unintended failure.
Mysql was failing on CI with deadlocks.  Not sure if special casing mysql with retry was a good idea anyway.  Now always raise ActsAsTaggableOn::DuplicateTagError when ActiveRecord::RecordNotUnique is thrown.
Add quotes in code exemple

Is is supposed to be like that? You can merge if if so.
set required ruby version.
Merge pull request #502 from seuros/ruby-version

set required ruby version.
Merge pull request #501 from kiasaki/patch-1

Add quotes in code exemple
Bump to 3.1.0, update changelog
Merge pull request #499 from LessonPlanet/handle-race-condition-adding-tags

fix for race condition when multiple processes try to add the same tag
Expand and annotate string to tag parsing regex
Failing test for multiple quoted tags

Conflicts:
	acts-as-taggable-on.gemspec
bf4 removed changes to gemspec
Fix failing test for multiple quoted tags

The regular expression that matches quoted tags matches a delimiter at the start
and at the end. Because of this, when matching multiple consecutive quoted tags,
the delimiter in between is already matched as end-delimiter for the first tag,
and so can no longer serve as start-delimiter for the second tag.

By using zero-width lookahead in the regexp, the second delimiter is not
consumed.

Conflicts:
	lib/acts_as_taggable_on/tag_list.rb

bf4 - Modified and annotated expanded regex
Closes #394