Add the ability to remove shortcuts on uninstall

When a Chocolatey-Uninstall is done, the bash and batch shortcuts will
now be removed using Remove-BinFile

I've also added a message in Generate-BinFile that the bash shortcut is
getting added, as this was missing.

I've also added a message to Chocolatey-Uninstall describing which
directory is removed on uninstall.
Quote args to shell script

When the args contain spaces, the existing shell script would fail.
If we quote the args this will fix the problem
Trying to fix Issue-265

In an attempt to help out, I have had a stab at fixing the reported
issue regarding calling Chocolatey-Uninstall with no parameters.  I have
added what I "think" is the necessary code, along with a test which
proves that at least it does what I think it does.  Let me know if you
have any questions.
Minor typo fix in Chocolatey-Uninstall.ps1
use choco list or choco search with -lo for super fast execution
fix tiny typo (succesfully -> successfully)
changed remove log behavior to appends
add time-date stamp to debug
Setting the right debugging message
Globalized CPU bit-width function for easy access in packages
Log unzip results by comparing destination contents.

Compare the actual destination directory contents for result logging
rather than relying on the COM object path builder. This works around
potential 260 character path length issues.
Log files added & modified by unzip process.

Extracted the logging logic into a (hopefully) reusable function that takes a script block to run. The target file structure is compared before and after the script block is run.
Fix syntax error in modified file logging.
Make file change comparison take into account Name and Size.

This should help take care of detecting changes even when there is weirdness with timestamps.
Merge remote-tracking branch 'origin/master' into dynamicallyExportHelpers

Conflicts:
	src/helpers/chocolateyInstaller.psm1