Allow subclasses to override the tag_list methods

Hi - what do you think to https://github.com/jdelStrother/acts-as-taggable-on/commit/15ee3933e922c0801241b05fd0717a5a2f753530, which generates the `#{tag_type}_list` methods in an anonymous module, so that subclasses can override them.  For example : 

```ruby
class TaggableModel < ActiveRecord::Base
   acts_as_taggable
   def tag_list=list
      logger.info("New list #{list.inspect}")
      super
   end
end
```

as opposed to :

```ruby
class TaggableModel < ActiveRecord::Base
   acts_as_taggable
   def tag_list_with_logging=list
      logger.info("New list #{list.inspect}")
      self.tag_list_without_logging = list
   end
   alias_method_chain :tag_list, :logging
end
```


The pull request also includes https://github.com/jdelStrother/acts-as-taggable-on/commit/1e78fc436853c946db106801b95f48ed87e553f1 which adds __FILE__ & __LINE__ info to the generated methods, but I can separate that out if you like.