Right now, I don't believe the technology exists in mainstream editors like Photoshop.
Its difficult because when you make a photo larger, you're stretching the pixels into more pixels, thus you get pixelation & blurriness. In order to prevent that from happening, the software would have to guess at the pictures details while still not messing it all up.