I've heard of, but never used,
MusicBrainz Picard.
I'm trying it out right now. It scans the audio, and gets a fingerprint of the track. Then it does an online lookup to try and identify the track. It will then sort your tracks into albums, and tag them properly with the data from the database.
Pretty much, I think this is "it".