[bug 49952] Consolidate SerializationOptions.

Instead of having several special purpose subclasses of SerializationOptions,
have just one SerializationOptions class which can handle arbitrary options.

This way, it becomes possible to hand the options down the hierarchy of serializers,
so all serializers have access to shared options (which may include services).

Change-Id: I6096e0c07e6af392eafe5a9d74d1e17c9abadf12