"The only solution is to allow law abiding, well trained and vetted citizens to have guns and be obligated to use them to protect their fellow citizens."
I think there are other ways to implement policy to resolve the problem of terrorism. When I consider the fundamental basis of government, I see that it is the agreement of sovereign people and nothing more. There is no rational, nor lawful, basis for government to have authority over the sovereign people whom agree to implement it, so neither is there any authority to allow or disallow sovereign people by whom government is authorized, to defend themselves. Personally, I'm a fan of evolution, so I'd simply get government out of the way and no longer impede people whom arm themselves, train, and attend to their duty to society as they see fit, and let evolution sort things. In life we often face obstacles to our comity, and either overcome them or suffer the consequences. This has evolutionary consequences, which create fitter people and stronger society.
Too many people shy from their responsibility to exercise their absolute authority, which too often allows authoritatianism to oppress free people. This is also an evolutionary pressure that presently acts to generate people capable of overcoming such disruption, as Ahmed al Ahmed demonstrated by disarming an armed terrorist with his bare hands despite being shot twice. That heroic performance of societal duty despite being hamstrung by oppressive government further demonstrated the utter failure of handing over our responsibility to secure ourselves to authoritarian government, because police failed to take any action while the terrorist was disarmed, and that failure allowed the terrorist to re-arm.
Government is the sole vector of terrorism and sovereign people themselves are the only possible solution.