In large pot cover beans with cold water. Bring to a boil. Remove from heat, cover, and let sit for 1 hour. Drain beans and add fresh water to completely cover. Bring to a boil and simmer for 1 hour until beans are tender. Drain. In a serving bowl toss tomatoes with salt and set aside for 10-15 minutes to bring out juices. Add beans, corn, and onion and mix well. Add cilantro, lime juice and oil. Stir to coat. Season with salt, pepper and cayenne to taste. Serve immediately, or set aside for 30 minutes for flavors to intensify.