I would like to learn more about why counterfeiting isn't possible. Or more to the point, why couldn't a 51% attacker use his majority network to confirm the creation of larger amounts of bitcoin?
Every full peer validates every single block. It wouldn't matter if someone had 51% of the mining power or 99% of the mining power on the network. If they are transmitting a block that has a larger block reward than the protocol allows, then every peer that they connect to would reject their block as invalid and refuse to relay it. Meanwhile any valid block created by someone else would be accepted, relayed, and added to the public blockchain.
To get their invalid block added to the blockchain, the attacker would have to convince a significant portion of the peers on the network to all run the modified software.
I understand that bitcoins only come into existence as mining rewards and that the amount of reward is hardcoded into the software. Is this alone enough to prevent the faster creation of bitcoin? If a 51% attacker could modify the client software his nodes run and why couldn't he control difficulty or simply change the block reward protocol? Would his nodes be completely rejected by the other nework nodes at that point, effectively pushing him off the bitcoin network?
Yes. Or more specifically, his blocks would be completely rejected since the acceptable difficulty and block reward are calculated by every peer on the network and enforced on every block they receive and relay. Theoretically his node itself wouldn't be rejected, so he could continue to participate in relaying other people's blocks and transactions, but none of his modified blocks would be accepted as valid blocks.