updated .gitignore
updated todo.md
refactored code regarding option selection during entity generation
pulled out valid_options into its own function
added thoughts on the design of attribute generation