Only accept valid VerbNet role combinations

 * Store the best_matches (was best_data) in frame occurrence
 * restrict roles from probability and bootstrap by only accepting valid
   combinationa
 * rename frame to frame_occurrence where possible
 * frame_occurrence.roles is know frame_occurrence.roles() -> is
   computed based on best_matches
Make clear that best_score only makes sense during frame matching