Remove uses of variadics in interfaces

After C++ got support for initializer-list syntax (e.g. initializing a vector by {1, 2, 3}), using variadics in interfaces no longer offers the benefits of being the only way to concisely pass a variable number of arguments. On the other hand, it's harder to work with and more error-prone, so let's just pass vectors around.

Merge request reports