Remove allocation when comparing type info objects

As request by Andrei Alexandrescu on the newsgroup some time ago, here a pull request for my changes to type info comparison. It has several advantages over the current approach:

-Fixes next() for TypeInfo_Const, TypeInfo_Typedef and TypeInfo_Vector
-Comparing two type info objects will no longer allocate two strings and compare them. This is one step needed to get a non leaking d-runtime when working without a GC.
-Variadic functions can be implemented more easily and efficiently. For a example see: https://github.com/Ingrater/thBase/blob/master/src/thBase/format.d#L257
-It is a lot easier to unqualify type info objects across dll boundaries. For a example see https://github.com/Ingrater/thBase/blob/master/src/thBase/format.d#L13