make all view begin/end members amortized constant-time, rename view::adjacent_filter to view::adjacent_remove_if; fixes #86