split Options into a file named options.py
updated error comments for Options
changed the return value for ReactionRule.generate, and implemented CaseIf