Drain the beans and transfer to a very large pot. Cover with fresh water. Bring to a boil, and then reduce the heat to maintain a low simmer for about 1 hour. Meanwhile, saute the onions in vegetable oil in a skillet over medium heat, stirring occasionally, until soft, 8 to 10 minutes. Add the garlic and cook another minute and set aside. After the beans have cooked for 1 hour, stir the onions, garlic and bay leaves into the beans. Cook for 1 hour longer, adding more water if necessary to keep the beans covered.
For the meat:
While the beans are cooking, preheat the oven to 350 degrees F. Arrange the neck bones, brisket, bacon, ribs, ham hocks, pig tails and sausages in enough roasting pans or baking sheets to contain them in one layer, and roast for 1 hour 30 minutes to 2 hours.
Add all of the meat, without their rendered fat, to the pot of beans and mix well. Add enough water to cover. Bring to a boil, and then reduce the heat and simmer until the beans are soft and the meat is tender and falling apart, 2 hours to 2 hours 30 minutes.
For the collard greens:
Just before serving the feijoada, heat oil in a large nonstick skillet over medium-high heat. Add salt to the pan, and then add the collards in handfuls, letting the greens wilt a little before adding more. Saute until crisp tender.
Serve the feijoada with the collard greens, rice, orange slices and hot sauce, sprinkling the farofa over the feijoada.