Changes in Join Models, problem rank, attribute

- has_and_belongs_to_many join tables between contests, groups,
  problem_sets and problems converted to has_many :through join models.
- added indices to those join models
- problems ranked within each problem set, and can be re-ordered
- "title" attribute in contests, problems and problem sets renamed to
  "name"
- problem name does not have to be unique