add -e/--eval option and rework option handling

closes #115