Refactored most of DHT.c, added local vim config

A bit of tidying up, the entirety of DHT.c is affected so I won't be offended if this gets rejected. In my opinion it's much more reader friendly now.

I've also added a local config for vim users. Right now all it does it ensure that tabbing creates four spaces.