Preheat the oven to 375°. Put the chicken in a small roasting pan and rub the skin all over with the butter. Generously season the chicken inside and out with salt and pepper. Roast the chicken for 1 hour and 15 minutes, or until the juices tipped out of the cavity run clear. Transfer the chicken to a carving board and cover loosely with foil; let stand for 10 minutes.
Meanwhile, in a medium saucepan, combine the hard cider with the shallots, dried cranberries, cloves and a pinch of salt. Bring to a boil, then simmer over low heat until the cranberries are softened, about 5 minutes. With a slotted spoon, transfer the cranberries to a medium bowl. Continue to simmer the shallots until they are tender, about 20 minutes longer. Strain the mixture into a smaller saucepan and transfer the shallots to the bowl with the cranberries. Boil the cider over moderately high heat until reduced to 1/2 cup, about 15 minutes.
Pour off the fat from the chicken-roasting pan and set the pan over two burners. Add 1/2 cup of the vermouth and simmer over moderately low heat, scraping up any browned bits with a wooden spoon, about 2 minutes. Add the reduced cider and any accumulated juices from the chicken and simmer, stirring, until the sauce is reduced to 3/4 cup, about 3 minutes. Season the sauce with salt and pepper. Pour the sauce into a small saucepan and keep warm over low heat.
In a large skillet, heat the olive oil. Add the pine nuts and cook over moderate heat, shaking the pan occasionally until golden, about 1 minute. Add the remaining 1/4 cup of vermouth and the lemon juice and boil over moderately high heat until reduced to 2 tablespoons, about 2 minutes. Add the spinach and cook, stirring, until just wilted, about 2 minutes. Stir in the cranberries and shallots and heat through; season with salt and pepper. Carve the chicken and serve the shallot-and-spinach mixture alongside, passing the sauce at the table.
The distinctive tart-berry fruitiness of a Pinot Noir harmonizes with the cranberries here. Consider a California bottling.