Add source-repository setting to cabal file

I was told that Hackage uses this to display a link to the source
repository (not relevant right now since this code is not published
on hackage), and there may be a Cabal version soon which has a command
to automatically clone the repository.

So: not very important, but it doesn't hurt.
Added threaded flag and copyright to cabal file
Give name to constant
Folded getURL into getLinksForURL

I think the function didn't pull its own weight.
Simplified workerthread a bit
Simplified seen/unseen URI management in workerthread

Instead of

  filter (`S.notMember` seenURIs) acceptableLinks

one can just use

  acceptableLinks `S.difference` seenURIs

(This may be one for hlint...), and also factor a S.fromList call
out of the atomically section to make it do less work.