Move Get-SourceArguments to Else
Merge pull request #425 from RichiCoder1/list-performance-change

Improve Chocolatey List LocalOnly performance
(GH-426) List returns packages & versions as object

This allows returning a hash of all packages/versions found through the list
command. This only does so when $returnOutput = $true as redirecting output
from a process slows this command down and it needs to be able to return very
quickly in scenarios where grabbing everything locally.
(maint) allow -v for verbose
(maint) spacing and formatting
(GH-427) CheckSum structure

This adds the structure for a checksum on a file.
(GH-200) Scan for viruses structure

This provides a start for checking for viruses with virus total api.
(GH-427) Add MD5 tool and license
(GH-427) Checksum downloaded files

This provides the actual checks to determine if a checksum matches the value
that is passed to it. This function does nothing if no checksum is included in
the package.
(GH-427) Remove md5.exe. Add checksum.exe

This removes md5.exe in favor of checksum, which can verify both md5 and sha1
checksums. Added checksumType to parameters across anything that can pass
checksum.
(maint) convert to utf8
(maint) add missing license, add parameters
(GH-427) Account for checksumming x64 urls as well
Merge branch 'stable'
(GH-426) list perf improvements
(GH-374) Cleanup download statement

This originally was based on GH-375, but this closes GH-375.

Nobody really needs to know where the file was downloaded to unless they are
debugging the output, only where the file is coming from. And cleaning up in
the same way that Redsandro suggested.
(maint) Cleanup source args
(GH-427) add config for checksum on or off
(GH-427) Use remote checksums if available

Verify remote checksum for X-Checksum-Sha1 if it is available.
(maint) filter empty package sources

We already filter out disabled sources but we need to filter out empty sources
as well.