Improve use of generics in StoryPath Card lookup

add StoryPath#gatherCardsOfClass(Class<T> class) and modify
getClipCardsWithAttachedMedia to return an ArrayList<ClipCard> instead
of ArrayList<Card>. This
allows us to reap the benefits of generics.