Extract KIDS patch dependency from KIDS file

and convert KIDS metadata to json format.

ExternalDownloader: add a method to download all external KIDS files.

KIDSPatchInfoParser: Move the KIDS header parsing logic to KIDSPatchParser.

KIDSPatchParser: support parsing KIDS patch dependency information from KIDS file.
Add functions to write/read KIDS meta data in JSON format,
also add method unregisterSectionHandler to allow resetting the
section parser to improve performance of parsing.

ConvertToExternalData.py: support output KIDS meta data file in JSON format
for KIDS file size > 1M, also added option to be able to specify the size
threshold via command line. Modify the generateSha1sum algorithm to speed up
for large file.

KIDSPatchOrderGenerator: integrate logic to read dependency from KIDS
or meta data file directly, combined with dependency generated from info
file to generate final topologic order.

OSEHRA-Id: http://issues.osehra.org/browse/VAF-83
Change-Id: I6b6b23a212688818312384860953f41f29c310f1
Merge "Extract KIDS patch dependency from KIDS file"