Make sorted_vector_types bulk_insert's best case sublinear
Make sorted_vector_types bulk_insert's best case sublinear

Summary:
In `sorted_vector_type`s a monotonic sequence of element-wise insertions has amortized insertion cost, because the new element is always appended at the end.

If using `insert(Iterator, Iterator)`, instead the cost is always at least linear in the initial size, due to `inplace_merge` (conditional) and `unique` (unconditional). We can recover the sublinear behavior by excluding from the merge the elements that are strictly smaller than any new one.

This generalizes the existing condition, which however only worked when new and old elements have disjoint ranges (while the new one interpolates gracefully), and did not avoid the `unique()` in any case.

Reviewed By: yfeldblum

Differential Revision: D36878277

fbshipit-source-id: 0260cb0a8e6eb66ab37afa4becd4c2b4726967c6

facebook/folly,facebook/folly,facebook/folly,facebook/folly,facebook/folly