Topic/boundary typeahead

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