mostly adding new methods and features

update viewer allows the user to see an update only once. ETL moves the
routine into a seperate thread so that the user can get working faster.
logging in is recursive if the login fails the first time(which it
probably will)