Change HABTM to has_many :through

HABTM is basicaly bridge to has_many :through now.

Quoting from ActiveRecord changelog:

  has_and_belongs_to_many is now transparently implemented in terms of has_many :through.
  Behavior should remain the same, if not, it is a bug.