refactor to use an event journal to get order of operations right.

to handle saving correctly, it seems we can't simply do all removes before all add and such things. this PR switches to use an ordered list of operations to do. see also #102

additionally, we can't save all children directly - this breaks for example on importing a document when we remove the old document with the same uuid.

PR for jackalope-jackrabbit will follow right away. we need to fix it for doctrine-dbal transport as well.

I wonder if we should

* pass the whole operationslog to the transport instead of calling for each item separatly. doctrine-dbal could group consecutive adds / remove operations. grouping the removes would also fix https://github.com/phpcr/phpcr-utils/pull/33
* use objects for the operations to make it more clear what data is available