If there is a system dataset, use it.

Ticket: #5124

The issue here is that if there's a system dataset that is being used for syslog
the logfiles could grow to be quite large.  When ixdiagnose would try to
make it's tempfiles it would make them on /var, which is a memory
filesystem.

This would cause ixdiagnose to fail.
Improvements suggested by jkh
save debug button should use the system dataset if it exists.

Ticket: #5124
If we cannot find the package distfile that we want in the distfile cache in the local directory
/freenas/Dev/releng/FreeNAS/ports/distfiles/ ,
then look in the remote distfile cache at http://download.freenas.org/distfiles/

This package remote distfile cache on download.freenas.org will be populated by a Jenkins job internally at iXsystems.
Frequently, people outside of the iXsystems network who use github to fetch the FreeNAS sources,
but do not have access to our internal /freenas/Dev/releng/FreeNAS/ports/distfiles/ directory,
run into build errors because of missing distfiles.

This should eliminate that problem.
Do not use rsync_user if one has been provided in host field

Ticket:	#5096
Username might not exist if not entered by the user

This avoids a traceback in this particular case.

Ticket:	#5130
Merge branch 'master' into freebsd10