Path prefix for `AudioBufferGroup` and move/copy semantics.

- An `AudioBufferGroup` created through `AudioManager` can now be given
a path prefix other than the default prefix.
- Move semantics implemented and made public.
- Copy semantics deleted altogether (no one should be able to copy an
`AudioBufferGroup`).
- Constructors and destructor made public so that boost containers would
stop complaining without the need to make them hold pointers or
references, which would add the need to manually handle the memory for
`AudioBufferGroup`s stored in `AudioManager`. The tradeoff to ensure
safety is that `AudioBufferGroup` checks during construction that its
`AudioManager` is actually in the process of adding the new buffer
group. This check only remains valid while an `AudioBufferGroup` created
by the `AudioManager` is actually in the process of constructing.