Improve support for lrange/ltrim negative start indices

If the start index is negative and less than `-list.size`, `nil` was being returned. This does not mirror real Redis behaviour.

See spec changes for an example.