Intensive lessons can get you through the test, but you won't have experience of driving in a range of conditions. I wouldn't, personally.
It's worth doing the theory test before lessons, or at least booking it. I had to book my theory test nearly 2 months in advance because there are so few available slots where I live. Bear in mind that the certificate is only valid for 2 years though, so you don't want to be waiting for months before you start lessons. And if you do really well and learn quickly, it helps to have the theory because you can't book a practical test without it.
The best way to find a good DI is personal recommendation. Ask around, most people know someone who has recently passed, or know of a DI with a good reputation. I think you can look up the pass rates for each instructor now. Beware the instructor who can fit you in right away- mine had a waiting list for a very good reason.
An average amount of time is about 5 months I'd say. Where I live loads of people start in January (vouchers for Christmas) and take their tests in May or maybe June. The amount of practice you do between lessons has a huge effect on how many lessons you will need.
I bought all the books for the theory test, and they really helped. There is also a kindle app that has loads of hazard perception clips. I used that to help me and some of the clips were on the actual test. I think it was called Driving Test Success. There are a few free practice tests online but the Q&A part is basically a case of learning all the possible questions and making sure you know the answers.