Track changes to options more deeply

Traverses array members looking for changes
I think the pre-decrement used here is overly tricky. My preference is to only use decrements and increments if they're on their own line. It might be more readable this way.

```php
$deep--;
$changed = self::get_changed_keys( $old_value[ $key ], $new_value[ $key ], $deep );
```