To achieve extreme color correction such as demonstrated in Matt Grum's linked answer, you need to use a RAW format. When saving an image to JPEG, your editing and correction latitude in post is extremely limited. The only way to maintain full latitude is with a RAW image format. The majority of interchangeable lens cameras these days, including DSLR and mirrorless, support a RAW format. With RAW, you are effectively working with a digital signal recorded strait off the sensor, along with a variety of camera and image metadata.
Once you have a RAW image, any raw editor, such as Lightroom, Aperture (mac only), DarkTable (linux, open source), or RawThearapy (multi-platform, open source) will allow you to perform significant color correction, exposure correction, non-destructive tone curve editing, etc. All of these tools have either a color balance or white balance tool, which can be directly edited, or often performed via a "click to balance" operation using a dropper tool and clicking on an area of the photo that should be "neutral" in color.