Dissolve the 3 tablespoons of salt into a large bowl of water (your largest mixing bowl, or about 4 quarts water). Add the chickpeas and soak for 8 to 24 hours. Drain, and place in a pot with the onion, thyme, and remaining teaspoon of salt. Cover with water by three inches. Bring to a boil, then lower heat and cook at the gentlest simmer for about an hour or until the chickpeas are cooked through. Let chickpeas cool in their cooking liquid. Discard thyme sprigs, and onion. Store chickpeas in their cooking liquid. You need 4 cups of cooked chickpeas for the recipe.
Meanwhile, cook the cauliflower: Fill a large pot with water and bring to a boil. Meanwhile, cut out the core of the cauliflower and remove the leaves. Cut the cauliflower into florets about 2-inches in size — they’ll break down further when they cook with the chickpeas. You should have about 6 cups. Add the 1 tablespoon of salt and the cauliflower to the boiling water, and cook for 5 minutes, until the cauliflower is tender but not mushy. Lift out the florets with a slotted spoon, and spread on a tray or plate to cool.
Meanwhile, in a large pot over medium heat, warm the olive oil. Add the onion and curry powder and cook, stirring now and then, until the onions are softened and the curry is very fragrant, about 10 minutes.
Add the coconut milk, then fill the empty can with water and add it to the saucepan. Add the remaining 2 teaspoons salt, the cooked cauliflower, 4 cups cooked chickpeas, raisins, and pine nuts, if using. Stir everything together, turn the heat to high, and bring the mixture to a boil. Turn the heat to low and let simmer, stirring now and then, for about 20 minutes, or until the liquid has reduced, the cauliflower has broken down a bit, and the chickpeas taste flavorful. Add the cilantro and stir to combine. Season to taste with salt. Serve with naan.