Curl move header list into read state to support double state
Fix: now mp4 file on internet url can be played by dvdplayer by double session support of cache.
Fix race conditions after starting flag reset,
make sure play state callbacks are called and only called once.
[Fix] Use shared pointer for the player in CApplication, fix double PlayFile call crash.
Change return value of PlayFile/PlayStack to support cancel detection.
Revert "Fix compile of current master branch without PR2244 merged."

This reverts commit bb75ae7b1cce556a668d74c8310a5984ff69b77a.
Detect PlayFile cancel better, any pPlayer->CloseFile() will cancel playback.
Also apply double cache for avi files.
When using double cache, do not increase the total memory cost.
gui: add "Browse Into" action for iso/img files

This moves logic of when a file folder should be expanded into CFileItem
instead of spread out in code. It now decide if a file should be expanded
directly, onbrowse, onclick.
gui: file manager should always browse into file folders on clickk
udf: reduce some of the read indirections
udf: split out open of iso from open of files inside
udf: fix functionallity when cache is disabled

This moves metadata partition hack into UDFFindPartition so
it is always applied. It also fixes up so we only look at
that
udf: factor out code that parses an allocation descriptor

Partition field should be set before call in the ad structure
udf: move file type and icb flags into FileAd structure

It was passed along everywhere the structure was
udf: support AD continuations
udf: bump max ad chains to much larger

Have an example file that with extensions end up around 1600 pieces. This aught ot be made dynamic,
but the way the cache functions in this code makes it very hard.
udf: simplify logic for calculation current AD for file
udf: verify that seeks are exact