add select/deselect_option, tests and docs (same as PR #40)