Predjama is one of the most extraordinary castles in the world, built in the mouth of a cave complex at the end of a valley in southwest Slovenia.