SICP 2.18: Reversing a List