Typescript port

The typescript port I mentioned the other day - now with a Gruntfile.
I liked my little Hash class and I think it is a primitive (just not one provided by the language), however my main reason for putting it in was that I wanted to have the explicit typing that it provided. When I started looking at taking it out though I realised that get was only used once and if I maintained an each function that would still provide interesting typing in the uses, so I've kind of merged it with the main TaskList class.