Fixed bug in object.setProperty(). It didn't call OnChange method if you update the same property two times

Фикс обсуждаемый в теме http://smartliving.ru/forum/viewtopic.php?f=4&t=595
Немного рефакторинга, но сам фикс лежит в методе setProperty. Я его покрыл тестами (можно посмотреть [тут](https://github.com/dimitrystd/majordomo/blob/master/Test/objects/objectsTest.php)). Но решил выкинуть из пул реквеста весь этот код потому что тяжело поддерживать.