You can use core Moodle to set up categories and subcategories of questions at top/site level (building up quite an impressive 'bank') and then use quiz to simply pull randomly x number of questions from the appropriate subcategory. You can set the quiz to a certain number of attempts and each attempt would pull a different set of random questions from the appropriate category/subcategory. If the structure is big enough (e.g. there are enough questions in the various categories/subcategories) then this can be very effective. Quiz itself takes care of 'pulling' the questions from the categories you tell it to. If you want teachers/tutors to be able to create the quizzes 'on the fly' within courses, then you'd need to tweak their role (or create a new one called quiz creator or something similar) which gives them the capability to access the bank at site/top level.
Hope this helps!