Cut off tops of tomatoes, then scoop out pulp. Reserve both tops and pulp. In frying pan, heat oil and saute onion and garlic until they begin to brown. Then add pine nuts and cilantro. Saute for 5 minutes. Remove from heat and stir in remaining ingredients, except salt and pepper. Fill tomatoes with this mixture and cover with tops. Place tomatoes in a baking dish, then mix with tomato pulp with salt and pepper and pour in between the tomatoes. Place a little butter on each of the tomatoes and bake at 350 degrees for 30 minutes. Serve.