Add validate method back to ListSerializer

Fixes #2168.
If we dropped the `ValidationError` and `DjangoValidationError` handling code into a function that takes an exception and returns the details for `ValidationError` to be raised, we could have that just in once place, which would be better.