Engine: fix _do_select_candidate out of bound cases
- 0 is not a valid number to use in candidate selection. Ignore.
- Out of bound selection should be handled correctly, which is to be ignored totally.
- Fix #72 (closed).
Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.