For the beans:
Soak beans overnight in a large bowl covered with two inches of water. Drain the beans and add them to a large Dutch oven. Cover beans with fresh, cold water, by at least two inches. Bring to a boil, then reduce to a simmer and cook, partially covered, for 1 to 1 1/2 hours, or until the beans are tender. Add 1 teaspoon of salt 15 minutes before they're finished.
Drain the beans and reserve about one cup of the cooking liquid. Return beans to the pot and mash with a potato masher until desired consistency is reached. (If you lack patience, you can also blend them in a food processor.) Season with more salt, as needed, and add reserved cooking liquid to thin the puree.
For the chicken:
Preheat the oven to 375 degrees. In small bowl, combine cayenne pepper, chile powder, paprika, salt and pepper. Place chicken in a glass baking dish or on a sheet pan covered with aluminum foil. Sprinkle the spices evenly over the chicken, then drizzle some extra-virgin olive oil over the skin. Using your hands, massage the chicken so that the skin is evenly coated. Roast for 35 to 40 minutes, or until cooked through. Let cool slightly, then shred using two forks.
Warm tortillas in the oven or over a gas flame. Spread a spoonful of bean puree and top with the shredded chicken. Garnish with fresh cilantro, white onions, tomatoes, avocado, and quasi fresco. Squeeze lime juice over the tacos, if desired.