How to jailbreak 3g version 4.2.1 with firmware 5.15.04?
Not going to tell you how to download apps, as it's in a grey area of legality.

Jailbreaking however, is perfectly legal...

I would suggest using an app called Redsn0w. I believe the latest version should still support older phones, though I have not tried it...

There are many guides on the web for doing this. A simple Google search found quite a few. Just find one thats uses Redsn0w and your good...