Make database dumps an abstract type.

The goal is to be able to use Git pack file directly.
Replace Ref by Tag in IrminGraph to be consistent with the rest of the API
Initial support for recursive stores

Irmin.Ref(S) generates a new store when values are blocks (ie. values
of the low-level block store). This is not very useful for the end-user,
but that's a necessary first step before being able to store context
in the node (ie. what @dsheets wants) and to be able to support more
esoteric datastructe (ie. what @BFarinier needs).
Merge pull request #58 from samoht/master

More API clean-ups
Better support for random tag name in the Git backend

No need to prefix all the tag names by refs/heads anymore
Diplay some nice graphs when asking the HTTP server to dump the database

This does not scale very well, but we could try to adapt something like http://cs.brown.edu/people/jcmace/d3/graph.html?id=small.json later (the source is somewhere in https://github.com/brownsys/X-Trace/tree/master/src/main/resources/webui/html/interactive)
The recursive stores now seem to work

It's also easier to embed key contents with a special merge semantics.
Merge pull request #59 from samoht/master

Nice graphs
Make all instances `IrminMemory.S.create` share the same cache (for a given `S`).

This makes the behavior of this store consistant with the other
persistent ones, eg. `S.create ()` should return an hanlder to some
shared datastore.
Update CHANGES
Merge pull request #60 from samoht/master

Fix IrminMemory.Make to share all its store instances
irminQueue: v0.3 - AO based implementation
Merge branch 'master' of github.com:samoht/irminsule into local