Also fix list.sort so it works with user-defined types, and parse the keyword arguments properly. Addresses issue #338.