#44 Convert Dictionary to Thrift and remove name

This is _not_ finished, but opening up to get some early feedback (if people are bored).

@markhibberd This hasn't changed all that much from my branch, but tried to break everything down just for my own sanity (and possibly yours).

The last commit is really my 'sin bin' of things that aren't quite finished yet. In my head the last big thing that _has_ to be done is more graceful migration of previous dictionaries. I'll most likely stick that in `DictionaryImporter`.

Any suggestions for what locking we _need_ in `IdentifierStorage` for this PR? It might be we're not (that) worried about contention of dictionaries being imported at this stage.

/cc @raronson 
I've resurrected the capturing of `.dictionary` for both chord and snapshot.

Apologies to Russell who talked to me about this earlier and I'm still struggling to see where/if the snapshot vs chord dictionary is used and in what format they should be in.

In the cases where we write out the identifier should we change the name of the file to something that doesn't clash? `.dict`? `.dictionary-ref`?