That's an interesting question, technically they have no difference, but in everyday life they seem to have slightly different meanings. If a person says "я это сделаю до пятого ноября", that often means the process is already going and it will be often done even some days before the fifth of November. If somebody says "я это сделаю к пятому ноября", that rather means, that the person estimates time for the job and in that estimation it takes some amount of days/hours; now the person is busy with some other occupation, but closer to the fifth of November he is going to start doing that new task to complete it until the fifth of November. In other words, "к пятому ноября" often means "you'll get the result on the fifth of November, but don't bother me before that date", while "до пятого ноября" often means "the fifth of November is the highest estimation and the result will be obtained even sooner, so I'll call you when I finish the task". But still you won't get in trouble if you interchange those constructions, they are technically equal. :)
"Until" in this sentence sounds like it's going to be ready "until" 3, at which point it's going to stop being ready. I would say "до трех" here would be better translated as "before" (maybe at 1430 as opposed to 1500), whereas к implies that it could take the entire time up until 1500 for it to be prepared.