Here is my solution to #2a. Gave me some trouble!

Let C be the set of conjugate subgroups of H, and N be the normalizer of H in G. Then we can rephrase the problem by saying that if G is the union of the elements of C, then H=G.

If |C|>1 then we must have |C| > [G : H], because every element of C has order |H|, but since |C|>1 the union is not disjoint - the elements of C have the identity in common.

A well known theorem states that |C| = [G : N]. Therefore [G : N] > [G : H], i.e. |G|/|N| > |G|/|H|, or |H|>|N|. This is absurd, because H is contained in N. Therefore |C|=1, H is normal in G and H=G.