I computed it by computing the probability that the coin was the fair coin given that HH appeared, getting the probability that it was the doublehead coin from that, and then computing the probability of a head in those disjoint cases.
Just used Bayes's theorem and some arithmetic. The probability that you have a fair coin given the HH appearance is only 1/5; hence 4/5 it's the unfair heads coin (it's never the tails one obviously). The first comes from Bayes's theorem giving that, prob(fair coin | HH) is equal to P(HH|fair) P(fair) / P(HH), which is (1/4)(1/3)/(1/3 1 + 1/3 1/4) when keeping in mind the background info. Then (1/5)(1/2) + (4/5)(1) = 9/10 = 0.90
Confirmed it with a simple python program. http://codepad.org/yl4Be298context