Simplified the CreateSessions crunch job.

This simplified version uses only two functions, so it is easier to
follow. The first extracts a key that is used to group events from each
event. The second is a standard reducer that takes a key and iterable of
events and emits a single session for all of the events. This lines up
more closely with the expectations that readers have when they are new
to crunch, and simplifies the pipeline to: extract key, group by key,
create a session for each group.

The two functions, GetSessionKey and MakeSession, are also static
classes rather than inline classes. This separates the pipeline logic
from what each individual function does so they can be explained
separately.

Finally, this moves the partition-from-uri logic into a method so it can
be ignored more easily.
Fix deprecation warnings for getWriter, getReader.
Restoring c11067a and 99e3b37.

Updating dataset example for URI-based repository instantiation.
Updating to use resource: URI for schemas rather than Resources.
Restoring 57aa41c.

Updating to use URI-based repo instantiation and resource: URIs for
schema configuration.
Restoring 68fd17f.

68fd17f: Updating logging-webapp example for 0.8.0.

Updated repository instantiation to URI-based and removed FS-specific
call to getMetadataProvider. It now calls
repo.load(name).getDescriptor().getSchema()
Restoring 21e0321.

21e0321: Updating logging example for 0.8.0.

Same changes as logging-webapp: use URIs and don't call
repo.getMetadataProvider.
Restoring 9299777.

9299777: Updating demo example for 0.8.0.

Just needed to change repo instantiation to URI-based.