Enforce uniqueness of category name by account

* Improve readability of sections of model and model spec code with
  comments defining the section.
* Use unique index for data integrity as suggested by
  http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_uniqueness_of-label-Concurrency+and+integrity