Define the `reverse` function in terms of other lambdalicious functions

It used a boring `array_reverse()` call. now it's defined in terms of
other lambdalicious list functions and itself. Part of the family!