General Synthetic Methods for Thiazole and Thiazolium Salts