refactoring
refactoring: change get_underlying_io_as_multi_file_io() to return normal mm_io_c*
refactoring mkvmerge: split create_readers() into several functions
refactoring mkvmerge: move create_track_number() to generic_packetizer_c
refactoring mkvmerge: move operator<< for append_spec_t to header file
refactoring mkvmerge: store file ID in filelist_t
mkvmerge: read files from MPLS playlists with »append« semantics instead of »additional file«

Each M2TS file referenced from an MPLS playlist must be treated as a
separate entity. This is unlike the situation on a DVD where VOB files
are simply cut after exactly 1024^3 bytes (1 GiB).

For example, timestamps can start at 0 for any of the following
files. If they are treated as »additional parts« then the resulting
output file will have its timestamps reset where the next input file
began.

By reading them in »append file« mode mkvmerge's muxing core takes
care of things like timestamps.

Fixes #934.
cosmetics: indentation
common: add new option --gui-mode
documentation: add --gui-mode to man pages
mmg: add --gui-mode when mkvmerge is run
mkvmerge: output playlist scanning messages for MPLS in --gui-mode
mmg: mux dialog: don't estimate time while scanning playlists
mmg: job runner dialog: don't estimate time while scanning playlists
Translations: update list of translatable strings
Translations: update German translation
mmg: show playlist files in »additional parts« dialog
Translations: update list of translatable strings
Translations: update German translation
Merge branch 'mpls-append-instead-of-additional-parts'

Conflicts:
	po/cs.po
	po/de.po
	po/es.po
	po/eu.po
	po/fr.po
	po/it.po
	po/ja.po
	po/lt.po
	po/nl.po
	po/pl.po
	po/pt.po
	po/ru.po
	po/tr.po
	po/uk.po
	po/zh_CN.po
	po/zh_TW.po