Use MD5 of url as key instead of url itself

* A hash is more efficient guarantees uniqueness. Using the URL
as a unique key is likely to cause a 1062 error - failed integrity check
where the URL is been truncated to fit the allocated column
width