addCondition now can be used with "OR" conditions too

I moved most of code out of `addCondition` method to new (private)
method `addConditionToDSQL` because I needed to make it more
"configurable" and it's code can be reused.

Example:
```
$m->addCondition(array(
    array($q->expr('now()'),array(1,5,7)),
    array('doc_prepared',$m->getField('doc_sent')),
    $q->expr('foo()'),
))->addCondition('name','like','%SIA%');
```

will generate following SQL:
`WHERE (now() in (1,5,7) OR doc_prepared=doc_sent OR foo()) AND name like
'%SIA%'`

Model fields doc_prepared and doc_sent can be calculated fields too :)