In a large pot over medium-high heat add olive oil. When the oil is hot add the onion, garlic, bay leaf, and ham hock; cook for 5 minutes. Add the beans and stir in the cumin, chipotles, chiles, tomatoes, and cilantro; season with salt and pepper. Pour in enough water to cover the beans by 1-inch and bring it to a boil. Cover and cook over medium-low heat until the beans are tender, about 1 hour. Remove the bay leaf and discard; pick the meat from the ham hock, discard the bone, and return the meat to the pot. Taste it and adjust the seasoning. Serve with lime wedges for garnish.