My position:
I have a problem with people insulting gay people. I have no problem with the word "faggot" because the word is not intrinsically evil or the source of the prejudice. I call my friends faggots or fags sometimes and they are not gay. Saying that we shouldn't say this word or that word because it is offensive to some people only makes the words more offensive by placing a taboo around it. Remember back in kindergarten when kids would say cuss words and everyone would go "UMMMMMMMMM".
The fact is, faggot has been used, and is being used in ways that is NOT OFFENSIVE to fags. Look at this:
http://www.urbandictionary.com/define.php?term=faggotFirst definition: "In these times not really used if somebody is really a homosexual mostly used instead of calling somebody stupid or a loser."
Oh wait, there's more?
"A bundle of sticks"
"The Bottom in a BD/SM relationship"
"An extremely annoying, inconsiderate person most commonly associated with Harley riders. 2. A person who owns or frequently rides a Harley."
"A meatball, a traditional culinary dish popular in the United Kingdom. Often served with gravy and mushy processed peas. Any internet search for (faggots and peas) will show you the meatballs' authenticity. "
So "Faggot is used as an insult. Always" has been proven wrong. Same with "slut", "Niger", or any other word. You can't apply universal definitions to words that are constantly changing in meaning, adopting new meanings, and loses old meanings. No word will ALWAYS mean anything because language doesn't work like that. And also, you can't discredit Urban Dictionary as a source. Language is our attempt to communicate our thoughts, if these people are successfully using the words with the meanings they described, then they very much so are real definitions.