Added change check to update attributes (bnc#887050)

* In order to prevent wrong change events i have added a check to the write attribute method that triggers an attributes change only if the value really have been changed. This commit will fix https://bugzilla.novell.com/show_bug.cgi?id=887050
* Fixed change detection for top navigation and cancel button
I'm not sure doing `keys.shift()` twice will work as intended :-)