In a large stockpot, combine all ingredients. Cover, and bring to a boil over medium-high heat; reduce heat to a very gentle simmer. Cook, uncovered, 1 hour, checking occasionally to make sure the liquid is barely bubbling, and skim surface with a large metal spoon as needed.
Transfer whole chicken to a cutting board. Let cool slightly, and pull meat from the sides. (Reserve meat for another use; store in refrigerator up to 3 days, covered well with plastic wrap.)
Return chicken bones to pot. Place a smaller pot lid on surface of stock to keep ingredients submerged. Simmer until bones fall apart when poked, 2 1/2 to 4 hours. Skim surface as needed.
Prepare a large ice bath. Strain stock through a fine sieve into a large heat-proof bowl, discarding solids. Set bowl in ice bath, and let stock cool to room temperature, stirring frequently.
Transfer stock to airtight containers. Refrigerate at least 8 hours or overnight. With a large metal spoon, skim off and discard fat layer that has collected on the top. If storing, leave fat layer intact (if helps to seal in flavor).