The issue is that when I upload an image that is less than the dimensions 600x339 in either height or width, they show up incorrectly on the page.
I did not understand this statement as you wrote it, but when I started researching I found what you meant, so I am writing this answer to document this for others who do not understand your meaning, or how WP processes images.
When you are uploading images to WordPress, they are automatically processed and several sizes are cropped or resized depending on settings.
A developer can declare her custom sizes using the code that was used in this question.
set_post_thumbnail_size(1280, 436, true);
add_image_size('general-thumb', 600, 339, true);
set_post_thumbnail() The first variable is Width, the second Height, and the third indicates cropping type: Hard(true) or Soft(false)
add_image_size() The first string is the name you want to call the image, followed by width, height, and cropping.
Hard cropping reduces the dimension proportionately to the requested number, then cuts off everything else to match the odd dimension.
For example: if you upload a 800x600 photo you want cropped to 600x200, WP will reduce 800w proportionately down to 600w, then crop the remaining 450h down to 200h. I believe it centers the image and takes it evenly from top and bottom.
Soft cropping reduces the whole image proportionately, maintaining the whole image. For example: That 800x600 image you uploaded would soft crop down to smallest maximum dimension 200h, leaving the width proportionately 267w.
In this case, I believe the OP definitely wants to Hard Crop, as indicated in the code.
The issue that is being encountered is that WP will not scale up an image to match the proportions. If you want that 600w x 200h image, but upload 550w x 300h, it will crop the 300h down to 200h, but leave the 550w. Most of the documentation I have run across makes this very clear. The 'fix' I know most people use is to scale the image in a desktop program before uploading it if it absolutely cannot be gotten at a larger scale already.
OP is looking for a solution that will allow WP to scale up the image to the requested dimensions. This solution can be found here: How to scale up image into thumbnail without distorting it?
Axlmedia (the source quoted) also adds this warning about the solution:
The slight downside (not much to worry about with the server space we have today) is that if you for example upload a 16×16 favicon to your media library, it will be cropped and upscaled to all larger thumbnail sizes available. So, some more images will be created.
As for older images, WordPress does not go back and revert your older thumbnails. These settings would only work on everything new from point of install onward. Once your solution is set, you can find a plugin or two that will go back in and rescale every image to the new settings. I do not know if it will work with the added upscale function. The two plugins suggested by user Stanislau Ladutska may offer a quicker overall solution.