pre-redirect validation

Input: two lists of source and destination URLs in pair
1.  Check if the number of source URLs matches the destination URLs. If no, quite the program with error.
2.  Read one pair of URLs each time. Check if source url is the same as destination url. If yes, append to the badPairs list; If no, continue;
3.1 Check if source url already exist in goodPairs. If yes, append to the badPairs list; If no, continue;
3.2 Check if source url returns 301 or 302.
3.2.1 Check if temp or permanent location is the same as the destination url. If yes, append to the badPairs; If no, continue;
# REMOVED - 3.3 Check if source url returns 200 or 201. If no, append to the badPairs list; If yes, continue; 
4.  Check if destination url returns 200 or 201. If yes, append to the goodPairs list. If no, continue;
4.1 Check if destination url is redirected. If yes, append to the badPairs. If no, append to the badPairs with a different code;