Implement batch functionality.
Write batch_items(items, batch_size) to split an ordered list into consecutive batches. Preserve item order, place at most batch_size items in each batch, include a final smaller batch when necessary, and return an empty list for empty input. The input is a list of values and a positive integer batch size. Return a list of lists without modifying the input.
def batch_items(items, batch_size):