Adding additional configurable filters to tags

Adding a configurable option to apply additional filters to the tags before inserting them.

It can be useful to apply regular expressions or other simple string modifications to tags.

Example:
If you configure it like this:

    ActsAsTaggableOn.filters = { capitalize: [], gsub: ['o', 'a'] }

Your tags will look like this:

    @user.tag_list = 'foo, bar'

    @user.tag_list
    # => ["Faa", "Bar"]

uhm, compact won't remove empty strings... it removes `nil`, isn't it?
So if you insert `"tag1, tag2, ,tag3"` it won't remove the `""`.
Maybe `reject(&:empty?)` ?