You may noticed, that Cycles is lacking a certain Blender Internal functionality which would help this. Mesh lights don't have a This Layer Only option.
My suggestion would be to use a python script.
Reserve one layer each for your specific lights. Store the specific lamp objects on each layer. You mustn't have other objects in these layers, but the scene should still be intact if either of the layers was switched of.
In my example case I will place a key, fill and rim object respectively in layers 0, 1 and 2.
These settings are specified in an array at the beginning of the script.
lightLayers = [
layers = bpy.context.scene.layers
filePath = bpy.context.scene.render.filepath
for i in range(len(lightLayers)):
for j in range(len(lightLayers)):
layers[j] = 0
layers[i] = 1
bpy.context.scene.render.filepath = filePath + lightLayers[i] + "/" + lightLayers[i]
bpy.context.scene.render.filepath = filePath
My render output is set to: "//images\".
Pressing Run Script will execute the script.
Each Light Layer is switched on, the others off (none Light Layers will not be affected), then the scene is rendered.
This will produce the following.