Implement searching. (Significant commit.)
Merge branch 'ch20-searching'