Now... people said the 51% attack can only double-spend, but I thought that the whole chain and rules were based on consensus, so if 51% said the new rules were there were more money, even though the client was hardcoded it would only fork at the point that something that was hardcoded got ignored (ie, once we got to above the hardcoded limiting amount past 21m). Even then, wouldn't the client just think something was wrong and stop getting a connection? I mean it's consensus so if 50% agreed to new rules wouldn't that be the new rules?
The phrase "double spend" is highly misleading, I wish it weren't the common phrase for that attack. It would be better if we called that attack "reverse and respend": What someone with a super majority hashpower can do is spend some coin with you, then after its deep enough in the chain that you trust it to be permanent (e.g. at least 6 deep) they release a new chain which starts before your txn was confirmed but spends the same coins someplace else. The new chain must be longer than the current real one... so to do this with any reliability they need >>50% of the total hashpower. So effectively they reverse one of their own payments to you by redoing the bitcoin transaction history so the funds when somewhere else instead. The total amount of coins is conserved.
There isn't any majority voting on the rules. The rules of the bitcoin system are fixed in every copy of the software. When you change them you don't change bitcoin, you create an alternative chain, effectively... because the two systems won't talk unless their rules agree.
Of course, if ~everyone changed their software than things can change— but it's silly to claim that this constitutes a lack of immutability of the rules. After all, if I made an interface to paypal with a bitcoin logo on it, and convinced everyone to change to that you could hardly say that I changed the bitcoin rules or hold bitcoin accountable for it.