Aaron,
At your present height/weight/body fat, I don't think you are taking in enough calories. I would say to put on the lbs while working out you should be consuming more like 3200 cal and monitor your progress. If that is not enough then bump it up by another 300.
On food choices, I would say that as far as proteins are concerned the best choices are: lean cuts of beef, whey protein powder, skinless chicken, salmon/tuna/sardines, low fat cottage cheese, egg whites, turkey breast. Frankly, I'd stay away from the whole milk and go for a low fat organic. For fats: flax oil, fish oil, olive oil, almonds, walnuts, flaxseeds, avocado, and salmon. For peanut butter use natural that doesn't have all the sugars. For carbs, oatmeal (steel cut), yams or sweet potatoes, lentils, pinto/black beans, vegetables (all kinds), fruit (especially berries) and whole grain breads. I would definitely stay away as much as possible from the butter, ice cream, whole milk and white potatoes and while the shakes are good, don't use them as your primary source of protein.
I know its difficult to fit in a balanced plan, but if you are not doing this already, try to eat 4 or 5 times per day versus trying to eat 3 big meals.
Eat alot and lift heavy and you will see results. Adding the lbs slowly over time will get you where you want to go, not packing on hollow calories quickly.