Various fixes for windows package management module

latest_version - return provided package name, not full name
upgrade_available - implement
list_upgrades - implement
version - handle full name and short package name. Return '' for each
named package when given a list even when none are installed
install - check version when looking for existing install (pkg.latest
state then works). Always return a changes dict, even when there are
errors (the state now fails instead of raising an exception).