What causes headaches, tension headaches, migraines and cluster headaches