cleaned up update_profile and allow it to accept 'expected_md5' to avoid download
+ RuntimeWarnings to update_profile
+ start() check if profiles match.
update_profile always updates saved md5 sum regardless of action