new download functions and other improvements

* New functions have been added to download updates for installation later, and to list the updates that has been downloaded. 

* arguments have been added to upgrade() and list_upgrades() to affect recommended updates, and updates that require a restart in different ways.

* ignore() has been changed to automatically remove '-<version>' from the end of a updates name if it is present, to make sure that updates actually are ignored. 
See: https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man8/softwareupdate.8.html and the '--ignore' switch.

* improved docstrings.

The module should now cover all functionality that is provided by the softwareupdate command.