Do controllers take wind into account when giving headings?
When the controller says heading, he means heading. 
So if he wants you to go into a specific direction, he will take wind into account. The reason for issuing heading are:


Every aircraft can fly it, because a compass is fitted on every aircraft. Track keeping requires more sophisticated avionics. 
If two aircraft fly adjacent to each other, the wind will offset them by the same amount and therefore separation is assured. 


Quite often a controller will ask you to report your present heading prior to instructing a one so he can make more accurate adjustments to your course, especially if you were under own navigation before being vectored. 

With Mode S radars and the right equipment in the aircraft, the current heading can be downloaded from the avionics without the pilot being aware of it.