Refactored preference, job listings, and tech stacks to a more DRY way of CRUD on their attributes. Cleaned up some other code and added more specs