Initial import of RARFileSource v0.8.
Improved Matroska handling.

Return the Matroska subtype for mkv, mka and mks file.
Return the NULL subtype as a secondary response in the media type query.
Fix memory corruption when encountering compressed files.
Fix handling of the new numbering scheme.

Based on a patch from OV2.
If the initial RAR file is in the middle of a multi-volume set, start from the first one instead.
Update version resource to v0.8.1.
Add file selector dialog.

Based on a patch from OV2.
Add cancel button to file selector.
Register all r00 to r99 file extensions.
Fix bad NULL pointer check.

Spotted by OV2.
Add convenience function for logging headers.
Fix handling of archives and media files larger than 4 gigabytes.

Based on a patch from OV2.
Add missing OOM check.

Spotted by OV2.
Implement automatic media file detection.

Signed-off-by: OctaneSnail <os@v12pwr.com>
Fix formatting and other cleanup.
Remove incorrect entry for asf.
Fix datatypes in all printf format strings.
Correct log messages.
Remove dead code.
Fix incorrect array deletes.