Topic/boundary typeahead

Based off of azavea/OTM2#114, commits relevant to this PR start from 2e86261