Working DSL to CSV for Toby

@tobyk100 i never said it would be complicated. :)

Here's the output:

Unplug1	Level1	u_1_1		sequence	
Maze	Level1	2_2	birds	sequence	
Maze	Level2	2_1	birds	sequence	
Maze	Level3	2_2_5	birds	sequence	
Maze	Level4	2_3	birds	sequence	
Maze	Level5	2_4	birds	sequence	
Maze	Level6	2_5	birds	loop_times	
Maze	Level7	2_6	birds	loop_times	
Maze	Level8	2_7	birds	loop_times	
Maze	Level9	2_8	birds	loop_times	
Maze	Level10	2_9	birds	loop_until	
Maze	Level11	2_10	birds	loop_until	
Maze	Level12	2_11	pvz	loop_until	
Maze	Level13	2_12	pvz	loop_until	
Maze	Level14	2_13	pvz	if,loop_until	
Maze	Level15	2_14	pvz	if,loop_until	
Maze	Level16	2_15	pvz	if,loop_until	
Maze	Level17	2_16	pvz	if,loop_until	
Maze	Level18	2_17	pvz	if_else,loop_until	
Maze	Level19	2_18	pvz	if_else,loop_until	
Maze	Level20	2_19	pvz	if_else,loop_until