Rewrote setup.sh using functions, added repo verification and backup.

Changed to functions instead of linear execution, add smarter
sources.list backup using a date/time method.  Added user data detection
and creation.