Basically rewrote the sound manager to handle and fix several features.

- Added random sound playing support for the interface and the creature actions.
- Made the configuration of spatial sounds and the buffer handling done
  per specialized object instead of using multiple shared pointers.
- Also tried better spatial attenuation and min distance values.
- Readd playing claimed tile sounds.

The implementation is still a bit naive in several parts but it's a much better
base for more.

Fixes #94, #52
Fixed several things as discussed with @hwoarangmy
Fixed the two iterators in the sound manager.

While on it, removed some duplicated code and renamed a variable according
to the code guidelines.
De-statify the Helper functions where possible.

As discussed with @hwoarangmy
Merge pull request #118 from Bertram25/sound_fix

Basically rewrote the sound manager to handle and fix several features.