Making kart sounds fully dynamic and  extendible

It basically replaces the old fixed-enum-sound handling with a dynamic map, so sound effects can be loaded from everywhere and modified at runtime. It also includes minor improvement to other code using these sounds and cleans up the code in kart.[ch]pp and and kart_properties.[ch]pp.

### Known problems
#1532 triggers a bunch of warnings.

### Testing the new functions
Save the [Nyan cat sound](http://en.wikipedia.org/wiki/File:Nyan_cat.ogg) to the karts directory as "nyan.ogg", add the following xml to a kart.xml of your choice and have fun playing with sound:
```
  <audio>
      <sfx location="kart" id="engine" filename="nyan.ogg"/>
      <sfx location="kart" id="zipper" filename="nyan.ogg"/>
      <sfx location="kart" id="beep" filename="nyan.ogg"/>
      <sfx location="kart" id="skid" filename="nyan.ogg"/>
  </audio>
```

### Further improvement
I'ld like to add my audio node parser to the SFX Manager as advancedSFXLoader to make usable for other parts of the game, but I'ld like some "official" opinion on that idea before implementing it.

Another nice thing would be support for scripting once the scripting branch is merged, so that one can add/modify/play sfx via a script.

And of course, some documentation in the wiki, maybe also a blog post to announce the new possibilities.