Fix 'irmin tree'
Support for in-memory transactions

- Improve the IrminMerge API (fix #45)
- in-memory views not store the sequence of operations performed so far.
  A new function, `merge_view`:
  * use this sequence to check that the transaction is serializable on top of HEAD
  * if it is the case, replay the action in a new temporary view
  * and commit the view to the store

The stategy is similar to what @djs55 implemented for xenstore. This fix #12.

There is also some goodies: the commit message of a transaction contains the sequence of operation performed so far.

Warning: nothing prevents the user to try merging two random views -- this will not work in the
	 general case: it has been design to be used on transactions-like systems only.
Merge pull request #52 from samoht/better-views

Support for transactions