I'm sure someone else will be able to fill the gaps as I don't know about BMAT, but to my knowledge:
A) UKCAT is an entrance exam to prove you have the mental capacity to train in medicine
B) there are training centres where you can do summer courses which will train you to pass your UKCAT or you can just find a test centre and revise yourself, I believe they schedule them throughout the year however my school used to schedule UKCAT for students wanting to go on to do medicine
C) you don't need both to my knowledge, different universities will want different scores in the UKCAT where you will have to pass the threshold score to be considered an applicant. I'm afraid I'm unsure about how BMAT is assessed by universities