Remove all property and type declarations from constructors
Headers: objects hold properties by value, and getProperty works through reference and exception throwing
Finish making properties a value type.

- All property access goes through lavObject::getProperty.
- LavObject holds a dict of LavProperty, rather than lavProperty*.
Funnel object types down to the LavObject constructor.
The LavObject constructor uses metadata module to get properties
Add missing Lav_initializeLibrary in time_convolution
Sources now get the source property table
Fixed property setting for public functions
Re-enabled the hrtf callbacks
Seeking works again
Add a missing break
Fixed suspension by reworking common property logic