To gain the most overall muscle, you need to do free weight compound exercises: deadlifts (back), squats (legs), and bench press (chest). Even though some exercises like deadlifts and bench press partially target the arms, you can put more emphasis on the biceps and triceps by doing isolation exercises such as barbell curls and cable pulldowns. I would suggest doing 6-8 reps for each exercise. This is considered the ideal range for muscle growth. Anything lower will just increase strength and anything higher will just increase endurance.
You should never workout for more than 1 hour. If you do, the cortisol in your body will start breaking down muscle for energy (not a good thing!). Also, only work each major muscle once per week so it has time to rebuild itself.
The most important thing you must do in weightlifting is progress every week. You do this by writing down everything that you do during each workout: the number of reps, number of sets, and the amount of weight. The next time you work those muscles, you absolutely must do more weight, or at least more reps, than the week before. Otherwise, the body won't feel threatened, and it won't build any muscle, or at most a negligible amount.
It's extremely difficult to gain muscle and lose body fat simultaneously. What I would do is break everything down into two phases, a bulking phase and a cutting phase. During the bulking phase you shouldn't do any cardio or at most very little and increase the calories. When you think you've gained enough muscle, you start the cutting phase by decreasing the calories slightly and greatly increasing the cardio, but you should still do weighlifting in order to keep the muscle that you've gained.