Switches underscore definition to interfaces

I'm switching the underscore definition to using interfaces as TypeScript 0.9.5 won't support the previous syntax of declaring functions and classes with the same name anymore. Moved module _ to UnderscoreStatic and class _ to Underscore. The change should be transparent to 0.9.1.1.

This change also allows extensions like "underscore.string" to extend the correct interface and work together with underscore. Currently, it works only as an external module by another name.

The tests weren't updated to 0.9.5 yet as they will require adding type information to some places and I think it will be better to wait until the final version is out.