modify the cmd files to pass exit code all the way out

all the bin files and chocolatey.cmd itself will exit with a
proper 0 or 1 exit code if an error is thrown during runtime
add function invoke-chocolatey function

this function provides the ability to "bubble up" errors encountered
during chocolatey runs all the way back up to powershell or cmd

this was implemented in the command line switches evaluatation so
any chocolatey function where an error is thrown, an error message
and status code of 0 or 1 will be returned
add error level checking to chocolatey install process (nuget)

provide the try/catch/throw bubble up functionality to the chocolatey
install process around nuget
add exit status codes to query a single package

if a single package version is queried at the cli in cmd or posh
then a 0 error status code is returned if the package is present on
the system or a 1 status code if 'not found'
Bubble the error back out so that packages could continue to install
Merge branch 'fix_exit'