[DO NOT MERGE] Add more API tests (and other API-related changes)

The individual commit messages detail what's in this commit pretty well. In short, I've added some tests for four more sets of API URLs, standardized the error messages produced by tests, improved the quality of error messages produced, and added support for `SomeField(default='foo')` and `SomeField(choices=(1, 2, 3))`.
As per a long and involved conversation with @elyezer, will pursue a fix. Ideally, the `_id` and `_ids` suffixes can be inserted into class `EntityFactoryMixin`. In the worst case, mappings can be applied through various `SomeEntity.Meta.api_names` tuples.