refactored/reorganized question model code
gracefully handled nil tag list
updated question spec