insert/push_back/push_front range extension

Add range-based non-member non-friend insert extension, push_back/push_front utilities that build upon it, and RANGE_RETURNS utility macro.

Closes #4 .
`valid_expr` is intended to be used to wrap the whole shebang:

    valid_expr(
        model_of<Iterable>(to),
        ...
        (to.insert(p, b, e), 42)
    )

I *think* there are some `insert` functions that return `void`, so this must be accounted for.