Fix list validation

* Add a serializer test that checks that `ListField` is invalid if
  passed a string
* Remove old test which called `field.validate` directly
* Move list validation into `from_native` instead of `validate`