temp_directory will be property of ds_sds_session
Refactor: Rename function: xccdf_session_get_ds_sds_session
Refactor: Checklist selection is responsibility of ds_sds_session.
Refactor: Extract function: _containter_get_component_ref_by_id
Wrap DOM within ds_sds_decompose_custom by oscap_source.
Yell an error message when a datastream session could not be created.

No need to include all the details in the message. More detailed error
message should already have been registered by prior function call.
Wrap oscap_source within ds_sds_decompose_custom by sds_session.
Introduce function: ds_sds_session_set_datastream_id
Refactor: Extract function: ds_sds_session_get_selected_datastream
Introduce function: ds_sds_session_get_xmlDoc
Pass only sds_session to ds_sds_dump_component_ref.
Pass only sds_session to ds_sds_dump_component_ref_as
Reuse existing code in ds_sds_find_component_ref.
Pass sds_session downto ds_sds_dump_componen
Introduce function: ds_sds_session_register_component_source
Refactor: Promote _guess_real_path to oscap_acquire module.
Register parsed components with sds_session.
Introduce function: ds_sds_session_dump_component_files.
Serialize all files from sds split at once
Override return code of oscap_xml_save_filename

Prose: The most libopenscap api return (int)0 as a sign of success.
A few functions return (bool)true to indicate success. This alone
may cause a headache to juniors. This particular function trains
our brains and returns 1 to indicate success. A consistent world
would be very boring place to live in.

First, I propagated oscap_xml_save_filename return code to
oscap_source_save_as. Because a lot of *_export functions returned
what oscap_xml_save_filename passed on them. However, I figured out
that these *_export functions will be deprecated. Hence, there seems
to be a little reason to take them into consideration. Let's make
oscap_source_save_as return (int)0 as sign of success. That should
improve consistency going forward and make this world boring once
again.