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.