Budapest is one of the coolest cities in Europe. From churches in caves and thermal baths to castles and cruises, here are 21 things to do in Budapest!