VistATestClient: Enhance to better handle CTRL+C

In situation that CTRL+C is pressed, code to close VistA connection
might gracefully might be blocked and leave a zombie external process.
Modify to terminate external process right away.

Also modify to catch all exceptions instead of just TIMEOUT exception so
that we still have a chance to terminate the external process.

OSEHRA-Id: http://issues.osehra.org/browse/VAF-81
Change-Id: Iba7a9c34b3d74165059528e360af8720345aa845
Fix typo in VA FOIA patches 2012 spreadsheet

 Fix patch install names:
    KMPD*3.0 -> KMPD*3*0

Change-Id: I6a9ce292325b009c972604f13e0c76a51db06538
VistATaskmanUtil: Handle Multiple Volume Set

in verifyTaskmanSiteParameter method, enhance to handle
the sitution that there are multiple volume set in a VistA
instance.

Also refactoring findChoiceNumber in VistAPackageInfoFetcher.py
to handle simple choice selection.

OSEHRA-Id: http://issues.osehra.org/browse/VAF-80
Change-Id: Iaa0da640459bcb6fac01a4b3a70534f3c4952d42
Merge "VistATaskmanUtil: Handle Multiple Volume Set"
Merge "Fix typo in VA FOIA patches 2012 spreadsheet"
VistAPackageInfoFetch: support get package patch history by version

Change APIs to fetch/store package patch history for each version.
Add a new method isPatchInstalled to use Kernel KIDS API.

Modify KIDSPatchSequenceApply to use new APIs.

DefaultKIDSPatchInstaller: Change getPersonNameByDuz to use Kernel
User API instead, fix a bug in restart/unload distribution.

OSEHRA-Id: http://issues.osehra.org/browse/VAF-77
Change-Id: I604c72a846853f2a81d6b5494a2de98b654d75b5
VistAMComponentExtractor: Remove dependency on VistA-FOIA

Use Packages.csv file in the VistA repo, and also scripts in the
same directory.

Modify UnpackRO.py to support output routines to specified dir,
and output progress message to a specified file like object.

Change-Id: I150e66a365489de2b808031000ba9e45b5348b00
Merge "VistAMComponentExtractor: Remove dependency on VistA-FOIA"
Merge "VistAPackageInfoFetch: support get package patch history by version"
PopulatePatchesByPackage: Refactor code common with PopulatePackages

Remove duplicate code in PopulatePatchesByPackages.py, move
common logic in populate function of PopulatePackages.py into
populatePackageMapByCSV and share with both.

Change-Id: I58e45cf5c00638e3d7259d9fe65654cb078e3cbe
Tell Git to ignore GT.M JOB command output files

The GT.M JOB command leaves child process stdout/stderr in .mjo/.mje
files.  Ignore the files in case they appear from processes run under
the source tree checkout.

Change-Id: I7b363ff2e8aa02cb0adeafce5b1c3dfb28ee9961
Merge "Tell Git to ignore GT.M JOB command output files"