Return the numbers in a matrix in spiral order.
Implement spiral_order(matrix), returning a flat list containing every matrix value exactly once, starting at the top-left and moving clockwise. The matrix may be rectangular and may contain negative or duplicate values.
Input: A list of m row lists, where all rows have the same length. Output: A list of values in clockwise spiral order. Return an empty list for an empty matrix.
def spiral_order(matrix):