Differentiate failed binds from connects, closes #4169

This change adds two new Rex exceptions and changes the local comm to raise the right one depending on the circumstances. The problem with the existing model is
that failed binds and failed connections both raised the same exception. This change is backwards compatible with modules that rescue Rex::AddressInUse in additi
on to Rex::ConnectionError. There were two corner cases that rescued Rex::AddressInUse specifically:

1. The 'r'-services mixin and modules caught the old exception when handling bind errors. These have been updated to use BindFailed
2. The meterpreter client had a catch for the old exception when the socket reports a bad destination (usually a network connection dropped). This has been updat
ed to use InvalidDestination as that was the intention prior to this change.

Since AddressInUse was part of ConnectionError, modules and mixins which caught both in the same rescue have been updated to just catch ConnectionError.
Clean up failure messaging when bad CHOST
Show uniq error count
Add the ability to specify mode in Rex output file

* Because sometimes you might want to append
* Preserves original hardcoded 'wb' as default
* http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html
Add module for MS14-064 bypassing UAC through python for windows
Update target info
Refactor create packager methods
this spec needs to use the username factory

:metasploit-credential_public factory will randomly
return either a Username or BlankUsername and thus is
not appropriate for when you want tos et an explicit Username.
The :metasploit_credential_username factory should be used for this
instead

MSP-11609
use latest version of metasploit-credential

MSP-11609
metasploit-credential bump to 0.13.3

MSP-11609
Land #4197, blank username failure fix
Fixes lack of support for MetasploitV5 tag

 #4184

* Appears to have been overlooked somehow in the pre-BlackHat crunch
* V5 will not support credentials
* We are implementing full-workspace zip import/export for credentials
Land #4196 - MS14-064 bypassing UAC
Land #4198, @trosen-r7's fixes to XML import.
Minor typos and grammar fixes
Fix newly introduced typo.
Land #4192, enable specifying mode for Rex output file
Land #4201, release fixes
Merge pull request #7 from jhart-r7/landing-4177-jhart

Clean up failure messaging when bad CHOST
Land #4177, @hmoore-r7's fix for #4169