Apply plugin by type in unit test.
This test should work for any combination of tooling API client and provider.
Fleshed out the stories to improve language source sets.
Fleshed out a couple of stories.
jmock -> spock.
Introduced FileSnapshotter, will be used to detangle building a snapshot for a collection of files from the strategy for building the snapshot for an individual file.
Changed CachingHasher so that it implements FileSnapshotter instead of Hasher.
Renamed CachingHasher to CachingFileSnapshotter and moved to live with the other snapshot infrastructure.
This didn't get committed for some reason.
Extracted SerializerRegistry out of TestEventSerializer, to allow it to be reused elsewhere.
Some minor clean-up of file collection snapshot serialization:

- Replaced hand-coded FileSnapshotSerializer with usage of DefaultSerializerRegistry.
- Don't write type tag when there is only one possible implementation.
- Encode snapshot size using variable length int instead of fixed length int.
Moved responsibility for creating serializer for each file collection snapshot implementation type to the classes that create the snapshot instances.
Updated the 2.0 plan.