Have you heard of Spotify? If not, research it!
It's a program that streams music in real-time, any song you want(95% are usually available), has search functions, and drag-drop playlists. When you click on the artist, it goes to the artist's page and gives you a list of all the albums he/she's ever been involved in including the top hits they've had, and the songs in those albums (which can also be drag/dropped into your playlist btw).
It also has a radio function. You choose the time period (from the before the 50's rangint to 00's) and the genre, then it plays random songs that fit in the categories you chose.
It's programmed SO well that it automatically detects the media keys on your laptop.
FURTHERMORE, once you create your username, it stores all your playlists server-side so wherever you log in in the world, it uploads your playlist to that version of Spotify.
Now the catch? It's free only if you are located in the UK or France, BUT don't fret! I know how to get around this little "problem."
One more thing. Logging into Spotify when you're NOT in the UK/France, you will have a 14 day period where it allows you to listen to their music, but once again, don't fret! There are two workarounds for this:
Spotify allows the use of proxies, so if you go into the proxy settings fo your Spotify, you can find a UK/French proxy that you can log into every 2 weeks or so.
The SECOND method is one I inadvertantly found myself (not sure how popular this is, and I'm hoping they don't fix it). You can use a firewall to block the incoming connections going into Spotify, which blocks the region-check part of the program.
VOILA! FREE SPOTIFY!