Adding ProgrammingTopics model + tests. This is indended for users to select from a list of topics they're interested in building software on.