BASE-27	 Add ObjectClass to SyncDelta

The SyncDelta can not hold the ObjectClass of deleted object for
operation with ObjectClass.ALL
BASE-26 - Avoid delegates where possible

The C# delegate type is not compatible with Java and it does not work
in PowerShell Runspace
BASE-28 - Implement Visitor patter for Filter

Visitor patter implementation of Filter
Merge pull request #10 from laszlohordos/1_4_X_Y

BASE-26, BASE-27 and  BASE-28 fixes