Allow the default sound to be suppressed (via setting 'sound' => null) when constructing a message

Replaced `isset()` for `array_key_exists()` in the `BaseOptionedModel` to better detect when options were set
but were null. (`isset` considers an array key with a value of `null` to be unset).

To suppress the sound when creating a message set the `sound` property to `null`,

````php
// Then, create the push skel.
$message = new Message('This is an example.', array(
    'sound' => null
));
````

This should be a backward compatible change, since the zend library doesn't accept `null` for the sound parameter we have to conditionally set the sound parameter rather than just passing the null option value in.