I think I can answer a few of these:
I think the CC3000 cannot act as an Access Point, so it can’t do strict Ad-hoc mode, but if you can setup a wifi access point on something else it should be able to connect to that.
promiscous mode flag, for receiving all overheard wifi frames
sending and receiving raw wifi frames, raw IP packets, or UDP broadcast packets
I didn’t see clear references to a promiscuous mode for the CC3000. I think there is some very low-level version of this used by Smart Config, but I don’t think it’s exposed. As for what is supported in frames, and packets, TI has some good documentation here:
SimpleLink API Reference Manual: Socket API
Sorry I wasn’t able to provide more info, I hope that helps! Meshing protocols on the Spark Core would be awesome, I’ll keep my eyes open for anything helpful I see on the subject.