Improve name representation: put index first.
Improve name representation: Unpack fields.

This uses the fact that the String in a Name cannot be empty to put the
first character of the string into the Name itself.
Drop reexport of freshvarl
Merge pull request #91 from Toxaris/unbox-name-components

Unbox name components.
Merge remote-tracking branch 'upstream/master' into topic/int-names

Conflicts:
	src-lib/PTS/Syntax/Names.hs
QuasiQuote: support HiddenName
Avoid freshvarl in Substitution WIP

On the one hand, this avoids the expensive computation of free
variables.

On the other hand, this causes a stack overflow on nontrivial programs
and is consistently slower on the other ones. This might be due to a
memory leak, but I can't investigate it today (assuming it's worth).