made 2 small fixes:
1. now the call of 'setId($id)' doesn't break the fluent interface. Now you can use for example: $person->setId(1)->setName('MyName');

2. Specifying an id in the constructor didn't work as expected
   The call new Person(array('id' => 1)) caused setting both 'id' = 1 and '_id' = auto generated ObjectId
   and therefore was not equal to $person->setId(1)
   It's now fixed.