Rewrote AudioProperties classes to use smart pointers

Made following changes:
Uses smart pointers to manage ```AudioProperties``` classes and its internal data.
Removed unnecessary data members of ```AudioProperties``` classes. For example, ```File*``` only used when constructing.
The setter methods of ```AudioProperties``` classes went private.
Renamed the variables for ```AudioProperties``` from ```properties``` to ```audioProperties```.
Added ```bool readAudioProperties``` parameter to ```EBML::Matoska::File::ctor()```.