ENH: added audio dimension checker (Fixes #147)

Well, I thought this would address a bunch of problems, but some of them seem to have been fixed in the meantime, or I was just wrong when I was trying to do some things in the past.

Anyway, I added functionality for fixing the dimensions of audio data. When I went to add it to various functions, the only one that needed it was ```convolve_hrtf```. If I'm wrong about that then it will be easy to add it to the beginning of any other functions that handle audio data later.  
stylistic comment: I tend to like to raise all the errors at the beginning whenever possible, so that I don't run a bunch of code unnecessarily if the function is destined to bomb anyway. I know this is a matter of personal preference, so I won't complain if this gets left as-is.  But FWIW, since I was thinking about it, here's a partial pseudocode example of how I would do that in this case: 
```
if signal.ndim > 2: raise ValueError('input array must be 1 or 2D')
elif n_channels is None: n_channels = signal.ndim
elif n_channels not in [1, 2]: raise ValueError('n_channels must be None, 1 or 2')
elif n_channels == 1 and signal.ndim == 2: raise ValueError('no stereo -> mono')
... etc
```