Use Data.Text for variable names

An experiment: it appears to reduce memory usage and speed things up
slightly, but in its current form breaks type providers and :x. I am
stuck on working out what's wrong, so if anyone can see what the problem
is, please do let me know and/or fix it!
Fix logic in Executor

Thanks to David Christiansen for the hint!
Merge branch 'text-names'

Conflicts:
	src/Idris/Core/Elaborate.hs