To say is to express yourself using words. To tell is to give information in detail. You can tell someone something, (give information to someone), vocally or in writing.
"Speak" and "talk" are basically synonyms. They both mean to use the voice to communicate. Sometimes in American English, "speak" can be a LITTLE more formal. For example, if you say to someone, "Hey I need to talk to you later", it is less formal than if you say, "Can I speak with you later?" (People usually use the word speak in a more serious situation.)
This dictionary is very good at defining words in an easy to understand manner. It also has a an excellent thesaurus:
http://www.merriam-webster.com